Oracle索引失效原因及解决方法
程序员文章站
2022-11-27 16:06:40
一、Oracle索引失效的原因 1使用否定关键字 !=, <> ,not in,not exist select * fromdrama where id <> 1,Mysql不会 2单独使用不等式关键字 直接用>或<可能会失效,Mysql不会 3使用null关键字 is null或is not n ......
一、oracle索引失效的原因
1使用否定关键字
!=, <> ,not in,not exist
select * fromdrama where id <> 1,mysql不会
2单独使用不等式关键字
直接用>或<可能会失效,mysql不会
3使用null关键字
is null或is not null 可能会失效
4左模糊或全模糊
like %放在前面
5索引列用函数
6条件中字符型字段赋值数字
7使用复合索引, 不使用第一个索引列
8索引失效
9刚建立新表,没有生成统计信息,需要分析一下
10索引不如全表查询快,表比较小或查询10%以上的列
二、查看索引是否有效的sql
1、explain plan for
select * from a where b='xx'
2、select * from table(dbms_xplan.display)
三、解决办法
1在特定场景下使用索引
不在小表使用索引,不在列值重复多的列建索引。如不在“性别”,“流转状态”列建索引。
2sql慎用关键字
null,not , > <
3重建索引
4强制使用索引
推荐阅读
-
win7系统电脑开机输入登录账号密码后出现黑屏的原因分析及两种解决方法
-
IE6不能正常解析CSS文件问题的解决方法及原因分析
-
微信腾讯qq小程序收不到验证码的原因及解决方法分享
-
关于python下cv.waitKey无响应的原因及解决方法
-
IIS FTP部分文件上传报错451的原因及解决方法
-
u盘插电脑没反应的原因及解决方法
-
电脑开机出现Invalid system disk导致系统无法正常启动的原因及解决方法
-
IE提示当前安全设置不允许下载该文件怎么办?原因及图文解决方法
-
Win8.1系统总是蓝屏怎么回事? Win8.1系统反复蓝屏的原因及解决方法
-
Win10开机提示user profile service服务登录失败的原因及解决方法