程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> SQLSERVER對索引的利用及非SARG運算符認識

SQLSERVER對索引的利用及非SARG運算符認識

編輯:更多數據庫知識

寫SQL語句的時候很多時候會用到filter篩選掉一些記錄,SQL對篩選條件簡稱:SARG(search argument/SARG)
復制代碼 代碼如下:
where amount>4000 and amount<6000上面這句就是篩選條件

當然這裡不是說SQLSERVER的where子句,是說SQLSERVER對索引的利用在SQLSERVER對於沒有SARG運算符的表達式,索引是沒有用的,SQLSERVER對它們很難使用比較優化的做法。

意思是說,如果你的SQL語句中沒有where子句包括非SARG運算符,那麼你的SQL語句是不會用到表格中的索引的

下面說一下哪些是非SARG運算符
非SARG運算符包括
NOT、
<>、
NOT EXISTS、
NOT IN、
NOT LIKE
規律就是有“NOT” 關鍵字 或者 不等於的意思 基本上利用不了索引
還有一些內部函數,如果使用這些內部函數SQLSERVER也不會用到索引
內部函數,例如:CONVERT(),UPPER()等

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved