`

Oracle索引失效的原因

 
阅读更多

容易引起oracle索引失效的原因很多:

1、在索引列上使用函数。如SUBSTR,DECODE,INSTR等,对索引列进行运算.需要建立函数索引就可以解决了。

2、新建的表还没来得及生成统计信息,分析一下就好了

3、基于cost的成本分析,访问的表过小,使用全表扫描的消耗小于使用索引。

4、使用<>、not in 、not exist,对于这三种情况大多数情况下认为结果集很大,一般大于5%-15%就不走索引而走FTS。

5、单独的>、<。

6、like "%_" 百分号在前。

7、单独引用复合索引里非第一位置的索引列。

8、字符型字段为数字时在where条件里不添加引号。

9、当变量采用的是times变量,而表的字段采用的是date变量时.或相反情况。

10、索引失效,可以考虑重建索引,rebuild online。

11、B-tree索引 is null不会走,is not null会走,位图索引 is null,is not null  都会走、联合索引 is not null 只要在建立的索引列(不分先后)都会走。

分享到:
评论

相关推荐

    oracle索引失效的总结

    oracle索引失效的总结

    Oracle Index索引无效的原因与解决方法

    主要给大家介绍了关于Oracle Index索引无效的原因与解决方法,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    ORACLE索引失效解决方法

    当某张表建立时间比较长以及该表频繁的进行插入,更新操作时,将出现索引失效问题。

    oracle数据库索引失效

    主要介绍了oracle数据库索引失效的原因及如何避免索引失效,有需要的小伙伴参考下。

    ORACLE重建索引总结

    4、索引高度:索引高度是指由于数据行的插入操作而产生的索引层数,当表中添加大量数据时,oracle将生成索引的新层次以适应加入的数据行,因此,oracle索引可能有4层,但是这只会出现在索引数中产生大量插入操作的...

    ORACLE数据库重建索引

    导致索引失效: 1、表上频繁发生update,delete操作; 2、表上发生了alter table ..move操作(move操作导致了rowid变化)。

    oracle分区表分区索引.docx

    对于oracle分区表分区索引的详细说明。 详细描述了分区表的类型,分区索引的类型 分类 。 删除或truncate 表分区时,什么样的情况索引会失效 需要重建 ,什么时候 对索引 没影响 。

    oracel 分区表索引失效的问题

    讲解oracle分区表的索引问题,有具体的例子和实验分析

    oracle分区索引的失效和重建代码示例

    主要介绍了oracle分区的失效和重建代码示例,小编觉得挺不错的,这里分享给大家,供需要的朋友参考。

    oracle 时间函数

    oracle 时间函数

    Oracle课件.pdf

    4.4 索引失效 5.表空间 6.表分区 6.1表空间及分区表的概念 6.2表分区的具体作用 6.3.表分区的优缺点 6.4表分区的几种类型及操作方法 6.5有关表分区的一些维护性操作 第5章 PL/SQL程序设计 1. PL/SQL简介 ...

    深入解析Oracle.DBA入门进阶与诊断案例

    10.4.2 诊断案例之一:隐式转换与索引失效 502 10.4.3 诊断案例之二:跟踪后台错误 506 10.4.4 10046与等待事件 509 10.5 使用物化视图进行翻页性能调整 514 10.5.1 系统环境 514 10.5.2 问题描述 514 ...

    Oracle数据库Sql性能调优

    1.29 强制索引失效 18 1.30 避免在索引列上使用计算 19 1.31 自动选择索引 20 1.32 避免在索引列上使用NOT 20 1.33 用&gt;=替代&gt; 21 1.34 用UNION替换OR (适用于索引列) 21 1.35 用IN来替换OR 22 1.36 避免在索引列上...

    Oracle数据库日常维护手册

    1.1. 检查 ORACLE 实例状态.............................................................................................. 4 1.2. 检查 ORACLE 服务进程........................................................

    非常全的oracle文档

    23.3. 索引 140 23.4. 视图 155 二十三、 分区表 159 24.1. 分区 159 24.2. 创建分区表 161 24.3. 范围分区(Range) 161 24.4. 列表分区(List) 164 24.5. 散列分区(Hash) 165 24.6. 组合范围散列分区 167 24.7. ...

    Oracle8i_9i数据库基础

    第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24...

    Oracle-SQL基础到存储过程下载(第三阶段)

    051.sql对象_索引失效.mp4 052.sql对象_索引的优缺点.mp4 053.sql对象_表分区-范围分区.mp4 054.sql对象_表分区-列表分区.mp4 055.sql对象_表分区-组合分区.mp4 056.sql对象_表分区-哈希分区.mp4 057.sql对象_表分区...

Global site tag (gtag.js) - Google Analytics