Медленное условие в запросе sql?

В таблице с 3 млн. записей. Первый запрос работает очень быстро:
SELECT SQL_NO_CACHE `id`,`users`
FROM `table` WHERE `users` > 3000 ORDER BY `users` DESC LIMIT 0,10

Но стоит добавить условие WHERE `date` IS NULL (по date есть индекс, но в нём половина повторов), как время выполнения падает до 8 секунд.
SELECT SQL_NO_CACHE `id`,`users`
FROM `table` WHERE `date` IS NULL AND `users` > 3000 ORDER BY `users` DESC LIMIT 0,10

explain второго запроса показывает возможные ключи users,date используется users. Тип range, а rows 259 тыс.
Как лучше поступить в этом случае?
  • Вопрос задан
  • 222 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Wanted. Москва
До 200 000 ₽
div. Ставрополь
от 50 000 до 120 000 ₽
Lachestry Таганрог
от 170 000 до 200 000 ₽
29 нояб. 2024, в 12:25
5000 руб./за проект
29 нояб. 2024, в 12:25
30000 руб./за проект
29 нояб. 2024, в 12:12
80000 руб./за проект