@Allexio
Программист-путешественник.

Mysql запрос выполняется 17 секунд. Как оптимизировать?

Всем привет.

Есть такой запрос:

SELECT waterTemp_C, observation_time_date FROM weatherArchiveDay WHERE placeID=266 AND observation_time_month=11 ORDER BY waterTemp_C DESC LIMIT 1


Изначально работал ок, но теперь когда 4 миллиона записей тормозит жутко )

Суть запроса - выбирается у определенного города (placeID) в определенный месяц (observation_time_month) самую низкая температура waterTemp_C.

Попробовал использовать встроенные функции напр min

SELECT min(waterTemp_C), observation_time_date FROM weatherArchiveDay WHERE placeID=266 AND observation_time_month=11


Теперь летает, и температуру правильную выдает, но дату первую по Primary ID, а не ту, когда такое температурное значение.

Подскажите пжста как скорректировать запрос. Спасибо!

  • Вопрос задан
  • 147 просмотров
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Постройте план исполнения, что это ищите в интернете, проанализируйте его, добавьте индексы, навскидку просто создайте те которые у вас в поиске и сортировке.
Ответ написан
Adamos
@Adamos
Суть запроса - выбирается у определенного города (placeID) в определенный месяц (observation_time_month) самую низкая температура waterTemp_C.

И часто у вас меняется самая низкая температура в прошлом октябре?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы