Анализ большого объема данных (несколько миллионов полей в БД)

Имеется база данных MySQL, в ней содержится таблица, которая имеет несколько миллионов записей. В данной таблице есть поля, по которым необходимо осуществлять поиск. Пример задачи (запроса): по выбранной дате (скажем за два месяца) необходимо получить количество товара определенного магазина по его ID (id - это название магазина, не первичный ключ), после чего я получаю массив объектов из миллиона записей.

Я использую ORM Eloquent и в результате получаю объект. Получаю его как минимум за 10 секунд, после чего данные необходимо ещё и обработать (вывести показатели определенного магазина или магазинов за каждый месяц указанного периода), это может быть "прибыль" или "убытки" магазина, которые мне необходимо подсчитать из пары сотен тысяч строк. Есть ли более оптимальные способы подобных запросов или их обработки? Подобные запросы занимают не менее 10 секунд, а если говорить про выборку нескольких магазинов за большее число времени, то можно прождать и пару минут.


Ответы (0 шт):