将月份,月份,年份,星期几和星期几作为单独的参考表或在常见的答案表中保留是否更好?目标是允许用户内容搜索和操作分析按所有各种日期时间值进行过滤(将根据用户的共享内容为用户提供自定义报告)。我试图通过使用ID来确保数据准确性,并通过比较各种用户组,按时间和日期报告系统报告的份额数等。如果我们保持在单独的表中,那么时间呢?还需要每小时,每分钟和每秒的表格吗?
答案 0 :(得分:0)
大多数数据库支持某种TIMESTAMP数据类型以及相关的DAY(),MONTH(),DAYOFWEEK()函数。
单独表格中单独的DAY或HOUR列的唯一有效原因是,如果您已经计算了每个时间段的总计和平均值。
即便如此,如果您期望基于这些值进行大量过滤,那么它也是值得的,因为构建这些表的成本很高,并且对于大多数查询,标准SQL“GROUP BY ... HAVING ..”将表现得很好。
听起来您可能对“STAR SCHEMA”wikipedia感兴趣,这是数据仓库中用于加速查询的常用方法 - 但要注意设计和构建Star Schem并非易事。