Есть запрос с подзапросом, который считает количество клиентов за сутки до текущей заявки:
select fm.credit_id,
fm.date_requested,
(select count(*) from monitoring_v1 fm1
where fm1.borrower_id <> fm.borrower_id
and fm1.credit_id < fm.credit_id
and fm1.date_requested between fm.date_requested - interval 1 day and fm.date_requested
) + 1 as borrowers_1d
from monitoring_v1 fm
where date(fm.date_requested) = curdate()
В БД стоят индексы на столбцы date_requested и составной индекс на credit_id, borrower_id. Запрос отрабатывает очень медленно, как будто индексы не помогают при неравенствах, а работают только при равенстве в условии.
explain:
Как можно оптимизировать выполнение запроса?
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости