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