Один из моих клиентов - сайт для гольфа. Каждую пару недель они предлагают новую статистику, которую они хотят получить, доступную в различных отчетах по отдельным раундам и охватывающих все раунды.
Например, процент ударов, сделанных и пропущенных при попытке на расстоянии менее 10 футов.
Некоторые параметры:
- просмотры отчетов происходят чаще, чем новые записи записей
- Отчеты должны запускаться как можно быстрее, и это является более высоким приоритетом, чем быстрое сохранение
- Каждая лунка в раунде имеет запись
- Каждый раунд имеет запись
- Каждый пользователь имеет запись статистики за всю жизнь
- Мы храним более 250 отдельных точек данных за раунд (включая запись отверстий)
- На страницах статистики отображается около 100 отдельных расчетов
Мой текущий подход заключается в добавлении полей в таблицы статистики дыр / раундов / времени жизни по мере необходимости новой статистики и для вычисления статистики каждый раз при сохранении раунда.
Проблема в том, что в какой-то момент мы можем превысить максимальный размер строки mySQL, равный 65535 байт.
Итак, вопросы:
- Есть ли момент, когда я должен начать вычислять статистику на лету, а не хранить ее?
- В качестве альтернативы, я должен просто планировать добавление новых таблиц статистики для удержания переполнения?