Как понять запрос к MySQL?

...WHERE f=1 
AND tab.site_id = '5568' 
AND YEAR(user_payment) =  '2016' 
AND MONTH(user_payment) =  '6'
ORDER BY

Что в этом запросек указывается в скобках?
  • Вопрос задан
  • 198 просмотров
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Это то, как НЕ надо делать фильтр, если нужны строки за определённый месяц.
Потому что mysql не умеет функциональные индексы, значит если даже индекс подходящий по дате есть - использоваться он не будет. Должно быть:
WHERE f=1 
AND tab.site_id = '5568' 
AND user_payment >=  '2016-06-01' 
AND user_payment <  '2017-07-01'

Что отлично пойдёт по индексу, например, site_id, user_payment. Надо ли сюда включать f - смотрите ваши данные, вам лучше знать вашу базу.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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