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对它们很难使用比较优化的做法。

意思是说,如果你的SQL语句中没有where子句包括非SARG运算符,那么你的SQL语句是不会用到表格中的索引的

下面说一下哪些是非SARG运算符
非SARG运算符包括
NOT、
<>、
NOT EXISTS、
NOT IN、
NOT LIKE
规律就是有“NOT” 关键字 或者 不等于的意思 基本上利用不了索引
还有一些内部函数,如果使用这些内部函数SQLSERVER也不会用到索引
内部函数,例如:CONVERT(),UPPER()等

相关文章

  • SQL Server常用关键字与功能详解

    SQL Server常用关键字与功能详解

    SQL Server 是 Microsoft 提供的一种功能强大的关系型数据库管理系统,其中支持丰富的关键字和函数,用于数据查询、处理和管理,以下是 SQL Server 中常见的关键字及其用途的详解总结
    2024-11-11
  • MSSQL事务的存储过程

    MSSQL事务的存储过程

    这篇文章主要介绍了MSSQL事务的存储过程,需要的朋友可以参考下
    2014-08-08
  • 浅析Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁

    浅析Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁

    以下是对Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁进行了详细的介绍,需要的朋友可以过来参考下
    2013-08-08
  • SQL Server误区30日谈 第26天 SQL Server中存在真正的“事务嵌套”

    SQL Server误区30日谈 第26天 SQL Server中存在真正的“事

    嵌套事务可不会像其语法表现的那样看起来允许事务嵌套。我真不知道为什么有人会这样写代码,我唯一能够想到的就是某个哥们对SQL Server社区嗤之以鼻然后写了这样的代码说:“玩玩你们”
    2013-01-01
  • SQL Server阻止保存修改表结构的解决方法

    SQL Server阻止保存修改表结构的解决方法

    修改DeUser表中列的数据类型从varchar修改为int时,进行保存时弹出的提示框,阻止保存修改表结构,怎么办?这篇文章就为大家详细介绍了解决SQL Server阻止保存修改表结构问题的方法,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Sqlserver事务备份和还原的实例代码(必看)

    Sqlserver事务备份和还原的实例代码(必看)

    下面小编就为大家带来一篇Sqlserver事务备份和还原的实例代码(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • SQL server高并发生成唯一订单号的方法实现

    SQL server高并发生成唯一订单号的方法实现

    这篇文章主要介绍了SQL server高并发生成唯一订单号的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 异步的SQL数据库封装详解

    异步的SQL数据库封装详解

    一直在寻找一种简单有效的库,它能在简化数据库相关的编程的同时提供一种异步的方法来预防死锁。使用这个库,你可以轻松地连接到任何SQL-Server数据库,执行任何存储过程或 T-SQL 查询,并异步地接收查询结果。这个库采用C#开发,没有其他外部依赖。
    2015-09-09
  • SQL Server清除日志文件ERRORLOG和删除tempdb.mdf

    SQL Server清除日志文件ERRORLOG和删除tempdb.mdf

    数据库再使用一段时间后,日志文件会增大,特别是在磁盘容量不足的情况下,更是需要缩减,以下为缩减方法:如果可以停止 SQL Server 服务,那么可以采取更直接的方式来缩减 ERRORLOG 和 tempdb.mdf 文件的大小,
    2025-03-03
  • sqlServer实现去除字符串空格

    sqlServer实现去除字符串空格

    简单的说SQL 中使用ltrim()去除左边空格 ,rtrim()去除右边空格 ,没有同时去除左右空格的函数,要去除所有空格可以用replace(字符串,' ',''),将字符串里的空格替换为空 。
    2017-01-01

最新评论