SQLSERVER對索引的利用及非SARG運(yùn)算符認(rèn)識
更新時間:2013年02月17日 17:54:39 作者:
SQL對篩選條件簡稱:SARG(search argument/SARG)當(dāng)然這里不是說SQLSERVER的where子句,是說SQLSERVER對索引的利用,感興趣的朋友可以了解下,或許本文的知識點對你有所幫助哈
寫SQL語句的時候很多時候會用到filter篩選掉一些記錄,SQL對篩選條件簡稱:SARG(search argument/SARG)
where amount>4000 and amount<6000上面這句就是篩選條件
當(dāng)然這里不是說SQLSERVER的where子句,是說SQLSERVER對索引的利用在SQLSERVER對于沒有SARG運(yùn)算符的表達(dá)式,索引是沒有用的,SQLSERVER對它們很難使用比較優(yōu)化的做法。
意思是說,如果你的SQL語句中沒有where子句包括非SARG運(yùn)算符,那么你的SQL語句是不會用到表格中的索引的
下面說一下哪些是非SARG運(yùn)算符:
非SARG運(yùn)算符包括
NOT、
<>、
NOT EXISTS、
NOT IN、
NOT LIKE
規(guī)律就是有“NOT” 關(guān)鍵字 或者 不等于的意思 基本上利用不了索引
還有一些內(nèi)部函數(shù),如果使用這些內(nèi)部函數(shù)SQLSERVER也不會用到索引
內(nèi)部函數(shù),例如:CONVERT(),UPPER()等
復(fù)制代碼 代碼如下:
where amount>4000 and amount<6000上面這句就是篩選條件
當(dāng)然這里不是說SQLSERVER的where子句,是說SQLSERVER對索引的利用在SQLSERVER對于沒有SARG運(yùn)算符的表達(dá)式,索引是沒有用的,SQLSERVER對它們很難使用比較優(yōu)化的做法。
意思是說,如果你的SQL語句中沒有where子句包括非SARG運(yùn)算符,那么你的SQL語句是不會用到表格中的索引的
下面說一下哪些是非SARG運(yùn)算符:
非SARG運(yùn)算符包括
NOT、
<>、
NOT EXISTS、
NOT IN、
NOT LIKE
規(guī)律就是有“NOT” 關(guān)鍵字 或者 不等于的意思 基本上利用不了索引
還有一些內(nèi)部函數(shù),如果使用這些內(nèi)部函數(shù)SQLSERVER也不會用到索引
內(nèi)部函數(shù),例如:CONVERT(),UPPER()等
您可能感興趣的文章:
- 淺析SQL Server 聚焦索引對非聚集索引的影響
- 淺述SQL Server的聚焦強(qiáng)制索引查詢條件和Columnstore Index
- 淺析SQL Server的聚焦使用索引和查詢執(zhí)行計劃
- 詳解sqlserver查詢表索引
- SQL SERVER 2008 R2 重建索引的方法
- SQLSERVER全文目錄全文索引的使用方法和區(qū)別講解
- SQL_Server全文索引的使用實例演示
- SQL_Server全文索引的用法解析
- SQLSERVER如何查看索引缺失及DMV使用介紹
- sqlserver索引的原理及索引建立的注意事項小結(jié)
- sqlserver2005自動創(chuàng)建數(shù)據(jù)表和自動添加某個字段索引
- SQL Server 數(shù)據(jù)庫索引其索引的小技巧
- 詳解SQL Server的聚焦過濾索引
相關(guān)文章
淺析Sql server鎖,獨占鎖,共享鎖,更新鎖,樂觀鎖,悲觀鎖
以下是對Sql server鎖,獨占鎖,共享鎖,更新鎖,樂觀鎖,悲觀鎖進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下2013-08-08
SQL Server誤區(qū)30日談 第26天 SQL Server中存在真正的“事
嵌套事務(wù)可不會像其語法表現(xiàn)的那樣看起來允許事務(wù)嵌套。我真不知道為什么有人會這樣寫代碼,我唯一能夠想到的就是某個哥們對SQL Server社區(qū)嗤之以鼻然后寫了這樣的代碼說:“玩玩你們”2013-01-01
SQL Server阻止保存修改表結(jié)構(gòu)的解決方法
修改DeUser表中列的數(shù)據(jù)類型從varchar修改為int時,進(jìn)行保存時彈出的提示框,阻止保存修改表結(jié)構(gòu),怎么辦?這篇文章就為大家詳細(xì)介紹了解決SQL Server阻止保存修改表結(jié)構(gòu)問題的方法,感興趣的小伙伴們可以參考一下2016-05-05
SQL server高并發(fā)生成唯一訂單號的方法實現(xiàn)
這篇文章主要介紹了SQL server高并發(fā)生成唯一訂單號的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
SQL Server清除日志文件ERRORLOG和刪除tempdb.mdf
數(shù)據(jù)庫再使用一段時間后,日志文件會增大,特別是在磁盤容量不足的情況下,更是需要縮減,以下為縮減方法:如果可以停止 SQL Server 服務(wù),那么可以采取更直接的方式來縮減 ERRORLOG 和 tempdb.mdf 文件的大小,2025-03-03

