加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – SQL Server日期时间vs Int关键字的性能

发布时间:2020-12-12 08:26:50 所属栏目:MsSql教程 来源:网络整理
导读:对于你的数据库设计/表演大师在那里. 如果您有一个数据库旨在跟踪财政年度的财务数据,是否更好/更多的性能/更清楚的做daterange类型搜索,如PaymentDate X和Y之间,或者更好地保持一个基于键盘的表与在其中定义的会计年度期间,并用付款日期和该键标记付款表,因
对于你的数据库设计/表演大师在那里.

如果您有一个数据库旨在跟踪财政年度的财务数据,是否更好/更多的性能/更清楚的做daterange类型搜索,如PaymentDate X和Y之间,或者更好地保持一个基于键盘的表与在其中定义的会计年度期间,并用付款日期和该键标记付款表,因此where clause是FiscalPeriodID = X的地方?

我确定更小的数据集没有关系,但我们假设这些数据将在数百万行.

解决方法

我每天处理数百万行的仓库,我们发现智能日期键是要走的路.这是YYYYMMDD的格式.所以要找到所有2008年,你会做:
select
    *
from
    gl
where
    postdate between 20080101 and 20081231

使用索引列,这是非常快的,甚至十亿行.这也指向一个日期表,所以我们可以在星期几,月份名称,或任何其他有关日期的信息.

当然,这些仓库通常是建立在支持SSAS多维数据集(OLAP数据库)之上的,因此日期表成为我们的日期维度.加入int比datetime快得多.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读