Я создал тестовую БД mySql с одной таблицей, чтобы провести несколько тестов производительности.
Эта таблица имеет 4 столбца: идентификатор, имя, адрес электронной почты, компания.
Я заполнил эту таблицу примерно 800 000 строк, включая 10 разных компаний.
Вот детали структуры:
Структура БД
Я создал много индексов, и я пытаюсь выяснить, почему следующий запрос не использует множественный индекс:
SELECT * FROM test WHERE name like 'jo%' order by email
Я бы ожидал очень короткое время, но оно все равно занимает около 1 с.
Есть идеи?
2-й вопрос:
Этот запрос SELECT * FROM test WHERE company = 'GB' and name like 'jo%' order by email
занимает ровно столько же времени, сколько и предыдущий. Это не логично, поскольку только 10% строк имеют «ГБ» в качестве компании, так что это намного более ограничительно, и существует индекс (компания, имя, адрес электронной почты).
Любое объяснение мне очень помогло бы лучше оптимизировать его.
Спасибо!