Доброго времени суток. Прошу помощи в решении моей проблемы.
SELECT `price`,`currency`,`status` FROM `orders` WHERE `currency` = $currency AND `date_add` >= $q[0] AND `date_add` <= $q[1] AND `user_id` IN ($ids)
Нужно получить суммы заказов за определенный период (это всегда неделя, например, от 18.01.21 00:00:00 до 24.01.21 23:59:59) в нужной валюте, нужного партнера и получить весь массив заказов. Проблема в том что у партнера много приглашенных клиентов сейчас больше 2.5 тыс (растет с каждым днём) - это и есть значение переменной $ids в WHERE IN. Заказов в неделю больше 3 миллионов. Информация по заказам хранится месяц, все что раньше - переносится в другую базу и удаляется. Сейчас в таблице 12 миллионов строк. Такой запрос выполняется очень долго. Можете подсказать как ускорить и оптимизировать этот процесс? Объединённый индекс по currency, date_add, user_id имеется