Сейчас у пользователя есть возможность делать выборку данных за N дней (данных за 1 день подгружается много). Если например такую выборку будут делать 5 человек одновременно, то база повиснет
Есть идея сделать выборку за 3 месяца и сохранить ее в кэш (данные за прошлые дни не меняются), и собственно этот кэш обновлять при первой загрузки данных пользователем, раз в день. И далее поиск по дням будет вестись в пределах этого кэша, если выборка данных совпадает с ним.
Стоит ли делать подобные манипуляции, или есть наиболее оптимальный способ?
Сколько строк в таблице?
По какому условию идёт выборка?
Сколько времени делается один запрос?
Сколько результатов содержит ответ?
Что показывает explain?
XenK: значит надо изменить структуру БД сократить джойнов немного, разбить на несколько мелких запросов. Мы вам тут ничего не скажем если вы не выложите свой запрос.