У меня есть sqlite db сотрудников с около миллиона записей.SQLITE: Как сделать работу индексации для вас?
company:
emp_id(primary) | first_name | last_name | company_name | job_title
БД содержит только 10 различных названий компаний (то есть, скажем, каждая компания имеет около 100к сотрудников) Я создал индекс по названию компании:
CREATE INDEX cmp_name ON company(company_name)
Но я не получил какой-либо скорости при выполнения запроса:
с индексом:
select * from company INDEXED BY cmp_name where company_name = 'XYZ corp';
Time: 88.45 sec
Вт ITHOUT INDEX:
select * from company where company_name = 'XYZ corp';
Time: 89.12 sec
Что я делаю неправильно?
Вы по-прежнему выбираете 100 000 строк, индекс не сделает эту часть быстрее магически. Вы видите разницу для 'select count (*)'? – Thilo
@Thilo Как я могу изменить свой индекс, чтобы получить скорость? – theLearner
Итак, вы работаете в организации с 1 миллионом сотрудников, но вы застряли с использованием sqlite в качестве реляционного db? Не сервер oracle, postgresql или sql? –