繁体   English   中英

用于BETWEEN的日期列上的非聚集索引

[英]Nonclustered Index on date columns used for BETWEEN

我有一个用于财政期间的表格,其中包含期间结束和开始的开始和结束日期。 我使用此表来确定服务的交易何时发生,并且在查询中收集了收入,例如...

SELECT p.PeriodID, p.FiscalYear, SUM(t.Amount) AS Revenue
FROM Transactions t
JOIN Period p ON t.TransactionDate BETWEEN p.PeriodStart AND p.PeriodEnd

我的问题是,在Period表上为日期列创建非聚集索引是否有益? 如果是这样,索引是否应包括PeriodStartPeriodEnd或仅包含PeriodStart列。

提前致谢!

我建议你在两列上创建索引,

CREATE NONCLUSTERED INDEX IX_Period
  ON Period (PeriodStart, PeriodEnd)
  include (PeriodID, FiscalYear); 

Include列将帮助您避免从堆中查找

仅在PeriodStart上创建索引将没有用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM