ребят, насколько жизнеспособна идея сразу создавать "кэш статистики"?
есть платежи в 15 категориях
есть условная 1000 человек совершающих эти платежи по 100 раз в сутки (чисто для простоты подсчетов цифры)
простой вариант:
пишем данные в одну таблицу.
когда нужно - получаем SUM(параметр) с условиями.
1000 юзеров по 100 платежей = 100 000 записей в сутки
сложный вариант
пишем данные в таблицу
суммируем с "сумма за все время по конкретному юзеру" (селект + инсерт)
суммируем с "за месяц по конкретному юзеру) (селлект + инсерт)
суммируем с "за день по конкретному юзеру" (селект + инсерт)
1000 юзеров по 100 записей * 4 таблицы = 400 000 записей
1000 юзеров по 100 запросов * 3 таблицы = 300 000 селектов (ок, можно превратит в 100к селектов с джойнами)
с одной стороны за месяц 12 000 000 инсервтов и 3 000 000 селектов (вместо 3 000 000 инсертов)
с другой стороны получить юзеру общую сумму за месяц - 1 запрос, а не SUM 100*30 = 3000 строк.
админу же месячная цифра обойдется в sum 1000 строк, а не 1000*100*30 = 3 000 000 строк.
но кроме того есть статистика за день, за неделю, за месяц/3/6/12 и за все время.
на дневной статистике казалось бы явный проигрыш, просуммировать 100к записей "дешевле" чем сделать 100к селектов и 400к инсертов. но нагрузка растянута по времени при записи, и минимальная при получении статистики.
во полотно накатал... сорян)