Notice (8): file_put_contents(): Write of 270 bytes failed with errno=28 No space left on device [CORE/src/Log/Engine/FileLog.php, line 140]

Notice: file_put_contents() [function.file-put-contents]: Write of 1108 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): SplFileObject::fwrite() [<a href='https://secure.php.net/splfileobject.fwrite'>splfileobject.fwrite</a>]: Write of 5131 bytes failed with errno=28 No space left on device [CORE/src/Cache/Engine/FileEngine.php, line 141]

Notice: file_put_contents() [function.file-put-contents]: Write of 3153 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): SplFileObject::fwrite() [<a href='https://secure.php.net/splfileobject.fwrite'>splfileobject.fwrite</a>]: Write of 5437 bytes failed with errno=28 No space left on device [CORE/src/Cache/Engine/FileEngine.php, line 141]

Notice: file_put_contents() [function.file-put-contents]: Write of 3153 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): unserialize() [<a href='https://secure.php.net/function.unserialize'>function.unserialize</a>]: Error at offset 94197 of 94197 bytes [APP/Controller/NewsController.php, line 5571]

Notice: file_put_contents() [function.file-put-contents]: Write of 2491 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
SQLSERVER对索引的利用及非SARG运算符认识 - 站长搜索
首页 > 资讯列表 > 编程/数据库 >> 数据库操作教程

SQLSERVER对索引的利用及非SARG运算符认识

数据库操作教程 2022-09-23 17:09:15 转载来源: 网络整理/侵权必删

写SQL语句的时候很多时候会用到filter筛选掉一些记录,SQL对筛选条件简称:SARG(searchargument/SARG)复制代码代码如下:whereamount>4000andamount<6000上面这句就是筛选条件当然这里不是说SQLSERVER的where子句,是说SQLSERVER对索引的利用在SQLSERVER对于没有SARG运算符的表达式,索引是没有用的,SQLSERVER对它们很难使用比较优化的做法。意思是说,如果你的SQL语句中没有where子句包括非SARG运算符,那么你的SQL语句是不会用到表格中的索引的下面说一下哪些是非SARG运算符:非SARG运算符包括NOT、<>、NOTEXISTS、NOTIN、NOTLIKE规律就是有“NOT”关键字或者不等于的意思基本上利用不了索引还有一些内部函数,如果使用这些内部函数SQLSERVER也不会用到索引内部函数,例如:CONVERT(),UPPER()等

写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()等

标签: SQLSERVER 索引 利用 SARG 运算符 认识


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2025 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持