gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 23:30:00 25 4
gpt4 key购买 nike

我有一个用于会计期间的表格,该表格具有期间结束和开始的开始日期和结束日期。我使用此表来确定何时发生服务交易以及何时在查询中收集收入,例如...

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 上创建索引不会有用

关于sql - 用于 BETWEEN 的日期列上的非聚集索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40267121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com