Думаю что:
- без асинхронных запросов не обойтись. Хотя бы в отдельный поток(и). (хотя если будут срезы, то не обязательно)
- Не будет лишним оптимизация БД. Статистику обновлять триггерами/хранимками если не часто обновляется (от получаса), если чаще, то хранить срез и пересчитывать периодически.
- Не забывайте про индексы, иногда денормализация спасает, но база подраспухнет.
- Оптимизируйте запросы, стройте планы выполнения, смотрите узкие места.
Принцип ускорения ПО всегда один, нужно или считать заранее, или где-то хранить часть расчетов - это память, будь то оператива или диск...
ЗЫ: послушайте еще
polifill, дело пишет.