Задать вопрос

Как ускорить запрос с двумя датами?

Вот такая таблица:

a64b4507b8474fdeb65153c575c4fdf4.png

И вот медленный запрос:

SELECT * FROM `domain` WHERE `date_expire` < NOW() ORDER BY `last_check` ASC limit 0,10


Результат:

Отображение строк 0 - 9 (10 всего, Запрос занял 3.4408 сек.)
[last_check: 2015-11-20 14:30:03 - 2015-11-20 14:34:35]

В среднем 3-4 секунды.

P.S.
update

И что интересно, но тот же запрос с сортировкой DESC выполняется за 0.0003 сек.

SELECT * FROM `domain` WHERE `date_expire` < NOW() ORDER BY `domain`.`last_check` DESC limit 0 , 10

Отображение строк 0 - 9 (10 всего, Запрос занял 0.0003 сек.) [last_check: 2015-11-22 14:00:04 - 2015-11-22 14:00:03]
  • Вопрос задан
  • 679 просмотров
Подписаться 5 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
Пригласить эксперта
Ответы на вопрос 1
@IceJOKER
Web/Android developer
перед запросом введите слово - EXPLAIN в результате вы увидите какие ключи были использованы и т.д. в общем полезная команда
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы