【发布时间】:2014-10-04 12:19:13
【问题描述】:
我正在为我在 SQL Server 2014 中的工作实施一个新协议(从 2010 年开始),我需要为研究人员构建理想的数据库结构。
设置
- 1700 万行/天 ~ 2 GB 原始数据 ~ 520 GB/年
- 22 列
- 预计对所有列都有超快速查询
-
最频繁的查询将类似于
select something, date, product from mytable where product = '45' and date between '20100811' and '20140811'
表格结构:
Date | Product | Time | something | something | something | something
----------------------------------------------------------------------------------
20140811 | 45 | "14:55:46:13" |
我的表格在使用日期和时间时有一个独特的组合。
问题
查询是否会受益于将日期放在单独的表中而不是在一个巨大的表中?即在请求的日期执行连接操作。
在日期和时间上使用聚集索引是否正确?如果是这样,我应该如何使我的非集群成为最佳状态?
提前谢谢你!
【问题讨论】:
-
结果是否需要精确到秒,或者这更像是一种数据仓库解决方案?您没有指明您的 SQL Server 版本,但您可以使用 columnstore indexes 吗?
-
在任何地方都没有看到columnstore indexes 解决方案。 @Dave.Gugg 这似乎很有趣,因为我将在每一列中有多个值。
-
谢谢@Dave.Gugg,我们现在已经开始使用列存储索引了
标签: sql sql-server date indexing sql-server-2014