SQL對篩選條件簡稱:SARG(search argument/SARG)當然這里不是說sqlserver的where子句,是說SQLSERVER對索引的利用,感興趣的朋友可以了解下,或許本文的知識點對你有所幫助哈
寫SQL語句的時候很多時候會用到filter篩選掉一些記錄,SQL對篩選條件簡稱:SARG(search argument/SARG)
代碼如下:
where amount>4000 and amount
當然這里不是說SQLSERVER的where子句,是說SQLSERVER對索引的利用在SQLSERVER對于沒有SARG運算符的表達式,索引是沒有用的,SQLSERVER對它們很難使用比較優化的做法。
意思是說,如果你的SQL語句中沒有where子句包括非SARG運算符,那么你的SQL語句是不會用到表格中的索引的
下面說一下哪些是非SARG運算符:
非SARG運算符包括
NOT、
、
NOT EXISTS、
NOT IN、
NOT LIKE
規律就是有“NOT” 關鍵字 或者 不等于的意思 基本上利用不了索引
還有一些內部函數,如果使用這些內部函數SQLSERVER也不會用到索引
內部函數,例如:CONVERT(),UPPER()等
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END