Я несколько раз сталкивался со следующей ситуацией, и мне было интересно, что лучшие практики говорят об этой ситуации:
Строки вставляются в таблицу, когда пользователи выполняют какое-то действие.Например, каждый раз, когда пользователь посещает определенную часть веб-сайта, вставляется строка с указанием его IP-адреса, имени пользователя и ссылающегося URL-адреса.В другом месте я хочу показать сводную информацию об этих действиях.В нашем примере я бы хотел, чтобы администраторы могли заходить на веб-сайт и видеть, сколько посещений происходит для конкретного пользователя.
Наиболее естественный способ сделать это (IMO) - вставить строку дляКаждое посещение и каждый раз, когда администратор запрашивает итоги, подсчитывают количество строк в соответствующей таблице для этого пользователя.Однако в подобных ситуациях может быть тысячи и тысячи строк на пользователя.Если администраторы часто запрашивают итоги, постоянный запрос количества может создать большую нагрузку на базу данных.Таким образом, похоже, что правильным решением является вставка отдельных строк, но одновременно сохраняйте некоторые сводные данные с промежуточными итогами по мере вставки данных (чтобы избежать повторного вычисления этих итогов).
Каковы лучшие практики илинаиболее распространенный дизайн схемы базы данных для этой ситуации?Вы можете игнорировать конкретный пример, который я составил, мой реальный вопрос заключается в том, как обрабатывать подобные случаи, связанные с данными большого объема и часто запрашиваемыми итогами или счетами этих данных.