Справочная таблица даты / времени, необходимая для аналитики? - PullRequest
0 голосов
/ 13 сентября 2010

Лучше ли хранить дни месяца, месяцы, год, день недели и неделю года в виде отдельных справочных таблиц или общей таблицы ответов? Цель состоит в том, чтобы обеспечить возможность поиска по пользовательскому контенту и аналитике действий по всем различным значениям даты и времени (для пользователей будут предоставляться пользовательские отчеты на основе их общего контента). Я пытаюсь обеспечить точность данных с помощью идентификаторов, а также сообщать о количестве акций и т. Д. По времени и дате для системной отчетности путем сравнения различных групп пользователей. Если мы будем держать в отдельных таблицах, как насчет времени? Таблица с каждым часом, минутой и секундой также необходима?

1 Ответ

0 голосов
/ 13 сентября 2010

Большинство баз данных поддерживают некоторый тип данных TIMESTAMP плюс ассоциированные функции DAY (), MONTH (), DAYOFWEEK ().

Единственная действительная причина для отдельных столбцов DAY или HOUR в отдельной таблице - это если у вас есть вычисленные итоги и средние значения для каждого временного интервала.

Даже тогда это того стоит, если вы ожидаете многофильтрация основана на этих значениях, поскольку стоимость создания этих таблиц высока, и для большинства запросов стандартный SQL «GROUP BY ... HAVING ..» будет работать достаточно хорошо.

Похоже, вас может заинтересовать "STAR SCHEMA" wikipedia распространенный метод хранения данных для ускорения запросов - но будьте осторожны, проектирование и создание Star Schem - это нетривиальное упражнение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...