top

SQLSERVER对索引的利用

SQLSERVER对索引的利用

写SQL语句的时候很多时候会用到filter筛选掉一些记录,SQL对筛选条件简称:SARG(search argument/SARG)

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

 

posted @   桦仔  阅读(1972)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示