[英]SQL sargable and performance 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(輪班)獲取票證。 。)?
由於BETWEEN子句,查詢的問題可能是索引選擇性。 如果您選擇7周中的5天,則優化器將執行表掃描。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.