专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

Oracle中会产生索引抑制的几种情况

ins518 2024-11-10 10:51:03 技术文章 16 ℃ 0 评论

所谓的索引抑制,就是因为SQL语句编写的不合适导致优化器没有使用合理的索引。

产生索引抑制的时候,很可能就要发生全表扫描,性能比较差。

总结一下可能会产生索引抑制的几种情况:

1、使用不等于运算符(<>、!=)

索引只能用于查找表中已经存在的数据。当在where子句中使用不等于运算时,其中被用到的列上的索引都将无法使用。

2、使用is null或is not null

当在where子句中使用is null或is not null时,因为null值没有被定义,所以索引的使用会被抑制。

3、使用like

like ‘%XXX%’和like ‘XXX%’ 中只有后者才能使用索引。

4、比较不匹配的数据类型

比较的数据的类型不一致,发生了隐式的数据类型转换。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表