我使用以下谓词,仅从我们的DW表之一中获取星期一至星期五的票。
SET DATEFIRST 1
SELECT TicketID
FROM Tickets AS T
WHERE DATEPART(DW,T.StartDate) BETWEEN 1 AND 5 ....`
能否让我知道DATEPART
谓词是否可保留?
我看了看实际的执行计划,它甚至在DATEPART
函数中也使用了索引查找。
我们已经通过修改where谓词,分析计划,设置统计信息等来优化了许多旧查询。对于这一点,我不确定是否有更好的方法仅从mon-fri(轮班)获取票证。 )?
由于BETWEEN子句,查询的问题可能是索引选择性。如果您选择7周中的5天,则优化器将执行表扫描。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句