Как можно ускорить работу с большим количеством данных?
Есть на yii2 график который по выбранному, пользователем, периуду запрашивает данные и выводит в вграфическом виде. Если запрос идёт на неделю, месяц вроде как за несклько сек , рисует а если за год то нужно ждать несколько минут. Думал закэшировать все запросы заранее но это сложновато будет ведь запрос идёт по 1 таблице и судя по ответу первой, собирает данные из 2й
good_beginer, тут вопрос не только что собирается, но и как, и как в СУБД настроены индексы. Если здесь уже действительно все ок, тогда готовьте витрины данных, собирайте данные, обрабатывайте и уже подготовленые используйте. Для этого исопльзуйте материализованые представления (materialized view). Но опять же без всей картины трудно чтото советовать
1) замер времени запроса
2) замер времени рисования графиков после запроса
3) Настройка slow query log
4) Если дело действительно в запросах, а не скажем в модуле построения графиков - курить explain
5) Расставить индексы на поля которые БД выбирает перебором "в лоб" группами по используемым полям
6) если в коде(маловероятно)- тут уже сокращать и оптимизировать циклы