Что делать с неэффективным индексом? - MySQL
Формулировка задачи:
В таблице 3 миллиона записей. Есть поле DATE если проверка была - в нём дата проверки, если не было то NULL
Запрос
отрабатывает от 8 до 13 секунд что всё равно очень много. Индекс на поле date есть и explain показывает что он используется, в графе rows указано 1548101 т.е. столько записей в таблице сейчас с date=NULL
Как быть в этом случае? Переделывать скрипт на использование вообще других столбцов для выборки?
SELECT `id`,`users` FROM `users` WHERE `date` IS NULL LIMIT 500000,10
Решение задачи: «Что делать с неэффективным индексом?»
textual
Листинг программы
CREATE bitmap INDEX index_name ON TABLE_NAME (column_name);
Объяснение кода листинга программы
- Создание индекса:
CREATE bitmap INDEX index_name ON TABLE_NAME (column_name);
- Индекс называется
index_name
. - Тип индекса -
bitmap
. - Индексируется столбец
column_name
в таблицеTABLE_NAME
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д