SQL sargable和性能调优

时间:2014-03-17 17:02:21

标签: sql datepart sql-tuning

我正在使用以下谓词来获取我们的一个DW表中的星期一到星期五的票证。

SET DATEFIRST 1

SELECT TicketID 
FROM Tickets AS T
WHERE DATEPART(DW,T.StartDate) BETWEEN 1 AND 5 ....`

是否有可能让我知道DATEPART谓词是否适合您?

我看了一下实际的执行计划,即使使用DATEPART函数也使用索引查找。

我们已经通过修改where谓词,分析计划,设置统计数据等来优化我们的许多旧查询。对于这个我不确定是否有更好的方法只从mon-fri获得票证(移位..)?

1 个答案:

答案 0 :(得分:2)

由于您的BETWEEN子句,您的查询问题可能是索引选择性。如果您在7周工作日中选择5个,优化程序将执行表扫描。