我正在使用以下谓词来获取我们的一个DW表中的星期一到星期五的票证。
SET DATEFIRST 1
SELECT TicketID
FROM Tickets AS T
WHERE DATEPART(DW,T.StartDate) BETWEEN 1 AND 5 ....`
是否有可能让我知道DATEPART
谓词是否适合您?
我看了一下实际的执行计划,即使使用DATEPART
函数也使用索引查找。
我们已经通过修改where谓词,分析计划,设置统计数据等来优化我们的许多旧查询。对于这个我不确定是否有更好的方法只从mon-fri获得票证(移位..)?
答案 0 :(得分:2)
由于您的BETWEEN子句,您的查询问题可能是索引选择性。如果您在7周工作日中选择5个,优化程序将执行表扫描。