SQLSERVER對(duì)索引的利用及非SARG運(yùn)算符認(rèn)識(shí)
更新時(shí)間:2013年02月17日 17:54:39 作者:
SQL對(duì)篩選條件簡稱:SARG(search argument/SARG)當(dāng)然這里不是說SQLSERVER的where子句,是說SQLSERVER對(duì)索引的利用,感興趣的朋友可以了解下,或許本文的知識(shí)點(diǎn)對(duì)你有所幫助哈
寫SQL語句的時(shí)候很多時(shí)候會(huì)用到filter篩選掉一些記錄,SQL對(duì)篩選條件簡稱:SARG(search argument/SARG)
where amount>4000 and amount<6000上面這句就是篩選條件
當(dāng)然這里不是說SQLSERVER的where子句,是說SQLSERVER對(duì)索引的利用在SQLSERVER對(duì)于沒有SARG運(yùn)算符的表達(dá)式,索引是沒有用的,SQLSERVER對(duì)它們很難使用比較優(yōu)化的做法。
意思是說,如果你的SQL語句中沒有where子句包括非SARG運(yùn)算符,那么你的SQL語句是不會(huì)用到表格中的索引的
下面說一下哪些是非SARG運(yùn)算符:
非SARG運(yùn)算符包括
NOT、
<>、
NOT EXISTS、
NOT IN、
NOT LIKE
規(guī)律就是有“NOT” 關(guān)鍵字 或者 不等于的意思 基本上利用不了索引
還有一些內(nèi)部函數(shù),如果使用這些內(nèi)部函數(shù)SQLSERVER也不會(huì)用到索引
內(nèi)部函數(shù),例如:CONVERT(),UPPER()等
復(fù)制代碼 代碼如下:
where amount>4000 and amount<6000上面這句就是篩選條件
當(dāng)然這里不是說SQLSERVER的where子句,是說SQLSERVER對(duì)索引的利用在SQLSERVER對(duì)于沒有SARG運(yùn)算符的表達(dá)式,索引是沒有用的,SQLSERVER對(duì)它們很難使用比較優(yōu)化的做法。
意思是說,如果你的SQL語句中沒有where子句包括非SARG運(yùn)算符,那么你的SQL語句是不會(huì)用到表格中的索引的
下面說一下哪些是非SARG運(yùn)算符:
非SARG運(yùn)算符包括
NOT、
<>、
NOT EXISTS、
NOT IN、
NOT LIKE
規(guī)律就是有“NOT” 關(guān)鍵字 或者 不等于的意思 基本上利用不了索引
還有一些內(nèi)部函數(shù),如果使用這些內(nèi)部函數(shù)SQLSERVER也不會(huì)用到索引
內(nèi)部函數(shù),例如:CONVERT(),UPPER()等
您可能感興趣的文章:
- 淺析SQL Server 聚焦索引對(duì)非聚集索引的影響
- 淺述SQL Server的聚焦強(qiáng)制索引查詢條件和Columnstore Index
- 淺析SQL Server的聚焦使用索引和查詢執(zhí)行計(jì)劃
- 詳解sqlserver查詢表索引
- SQL SERVER 2008 R2 重建索引的方法
- SQLSERVER全文目錄全文索引的使用方法和區(qū)別講解
- SQL_Server全文索引的使用實(shí)例演示
- SQL_Server全文索引的用法解析
- SQLSERVER如何查看索引缺失及DMV使用介紹
- sqlserver索引的原理及索引建立的注意事項(xiàng)小結(jié)
- sqlserver2005自動(dòng)創(chuàng)建數(shù)據(jù)表和自動(dòng)添加某個(gè)字段索引
- SQL Server 數(shù)據(jù)庫索引其索引的小技巧
- 詳解SQL Server的聚焦過濾索引
相關(guān)文章
SQL Server 2008 清空刪除日志文件(瞬間縮小日志到幾M)
sql 在使用中每次查詢都會(huì)生成日志,但是如果你長久不去清理,可能整個(gè)硬都堆滿哦,筆者就遇到這樣的情況,直接網(wǎng)站后臺(tái)都進(jìn)不去了。下面我們一起來學(xué)習(xí)一下如何清理這個(gè)日志吧2018-10-10SQL 判斷給定日期值(或時(shí)間段)所在星期的星期一和星期天的日期
最近報(bào)表要用到一項(xiàng)功能,需要把數(shù)據(jù)源根據(jù)記錄發(fā)生日期所在的星期序列進(jìn)行分組。因此就寫了兩個(gè)相關(guān)SQL Function進(jìn)行調(diào)用。2011-10-10sqlserver中通過osql/ocmd批處理批量執(zhí)行sql文件的方法
上周在測(cè)試環(huán)境建了幾十張表,保存了.sql文件,準(zhǔn)備在正式環(huán)境重建的時(shí)候懶得一個(gè)個(gè)打開建了,做一在網(wǎng)上搜尋了一下,果然有簡單點(diǎn)的方法。2011-08-08深入淺出解析mssql在高頻,高并發(fā)訪問時(shí)鍵查找死鎖問題
SQL Server死鎖使我們經(jīng)常遇到的問題,數(shù)據(jù)庫操作的死鎖是不可避免的,本文并不打算討論死鎖如何產(chǎn)生,重點(diǎn)在于解決死鎖。希望對(duì)您學(xué)習(xí)SQL Server死鎖方面能有所幫助。2014-08-08SQL 多條件查詢幾種實(shí)現(xiàn)方法詳細(xì)介紹
這篇文章主要介紹了SQL 多條件查詢兩種實(shí)現(xiàn)方法詳細(xì)介紹的相關(guān)資料,一種是排列結(jié)合,另一種是動(dòng)態(tài)拼接SQL,需要的朋友可以參考下2016-12-12SQL?Server數(shù)據(jù)庫中已存在名為'student'對(duì)象的解決辦法
這篇文章主要給大家介紹了關(guān)于SQL?Server數(shù)據(jù)庫中已存在名為'student'對(duì)象的解決辦法,解決方法很簡單,并且也很實(shí)用,不止有這一個(gè)用處,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11centos7部署SqlServer2019的實(shí)現(xiàn)步驟
最近工作需要,需要在服務(wù)器上部署一個(gè)sql server 數(shù)據(jù)庫,本文主要介紹了centos7部署SqlServer2019的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01CentOS安裝SQL Server vNext CTP1教程
這篇文章主要為大家詳細(xì)介紹了CentOS上安裝SQL Server vNext CTP1的相關(guān)過程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11