容易引起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 只要在建立的索引列(不分先后)都会走。
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 表级联删除
2013-11-02 13:44 0数据库表中没有设置级联删除.怎样用SQL语句实现: 如:EMP ... -
恢复表的历史数据
2013-11-02 13:42 0select * FROM table_name as of ... -
oracle表空间 创建用户 授权
2013-11-02 13:42 0创建临时表空间 CREATE TEMPORARY TA ... -
oracle startwith
2013-11-02 13:40 0语法: select * from 表名 where 条件1 ... -
oracle与mysql区别
2013-11-02 13:39 0MYSQL和ORACLE的一些区别: 有很多应用项目, 刚起步 ... -
oracle相关
2013-11-02 13:37 0Oracle 数据库 语法顺序 select from on ... -
oracle删除用户和表
2013-10-24 15:30 0(1)用具有dba权限的账户登录,查询用户的进程,然后kill ... -
oracle start with 用法
2013-10-24 15:09 0connect by 是结构化查询 ... -
oracle 查看表空间大小和使用情况
2013-10-24 15:06 01、查看表空间的名称及大小 SELECT t.tablesp ... -
oracle 判断汉子字节长度
2013-10-24 15:01 0汉字的字长与Oracle的配置是相关的, 用以下语句查询: ... -
oracle中rownum
2013-10-24 01:19 580因为项目需要对rownum做 ... -
oracle 权限设置
2013-10-24 01:17 577每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表 ... -
oracle基础
2013-10-24 01:09 563什么是索引: 索引的 ... -
oracle索引
2013-10-24 01:07 602一.索引介绍 1.1 索 ... -
oracle存储过程
2013-10-24 00:56 5921. 什么是存储过程 定义: 将常用的或很复杂的工作,预 ... -
查看oracle的用户权限
2013-10-23 23:23 554ORACLE数据字典视图的种类分别为:USER,ALL 和 ... -
oracle用户管理
2013-10-23 01:08 586这里将介绍Oracle修改用户权限的实现过程,包括一些权限管理 ...
相关推荐
oracle索引失效的总结
4、索引高度:索引高度是指由于数据行的插入操作而产生的索引层数,当表中添加大量数据时,oracle将生成索引的新层次以适应加入的数据行,因此,oracle索引可能有4层,但是这只会出现在索引数中产生大量插入操作的...
当某张表建立时间比较长以及该表频繁的进行插入,更新操作时,将出现索引失效问题。
主要介绍了oracle数据库索引失效的原因及如何避免索引失效,有需要的小伙伴参考下。
主要给大家介绍了关于Oracle Index索引无效的原因与解决方法,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
导致索引失效: 1、表上频繁发生update,delete操作; 2、表上发生了alter table ..move操作(move操作导致了rowid变化)。
对于oracle分区表分区索引的详细说明。 详细描述了分区表的类型,分区索引的类型 分类 。 删除或truncate 表分区时,什么样的情况索引会失效 需要重建 ,什么时候 对索引 没影响 。
主要介绍了oracle分区的失效和重建代码示例,小编觉得挺不错的,这里分享给大家,供需要的朋友参考。
oracle 时间函数
讲解oracle分区表的索引问题,有具体的例子和实验分析
4.4 索引失效 5.表空间 6.表分区 6.1表空间及分区表的概念 6.2表分区的具体作用 6.3.表分区的优缺点 6.4表分区的几种类型及操作方法 6.5有关表分区的一些维护性操作 第5章 PL/SQL程序设计 1. PL/SQL简介 ...
1.29 强制索引失效 18 1.30 避免在索引列上使用计算 19 1.31 自动选择索引 20 1.32 避免在索引列上使用NOT 20 1.33 用>=替代> 21 1.34 用UNION替换OR (适用于索引列) 21 1.35 用IN来替换OR 22 1.36 避免在索引列上...
10.4.2 诊断案例之一:隐式转换与索引失效 502 10.4.3 诊断案例之二:跟踪后台错误 506 10.4.4 10046与等待事件 509 10.5 使用物化视图进行翻页性能调整 514 10.5.1 系统环境 514 10.5.2 问题描述 514 ...
第三章 表及索引的定义操作 94 §3.1 建立表结构 94 §3.1.1 建立表结构命令 94 §3.1.2 建立表结构例子 96 §3.1.3 建立临时表结构 97 §3.3 修改表结构 98 §3.3.1 修改表结构命令 98 §3.3.2 修改表结构例子 99 ...
1:索引跳跃扫描的应用 2:索引失效与表move之间的关系
4. 检查 ORACLE 相关资源的使用情况........................................................................... 10 4.1. 检查 ORACLE 初始化文件中相关参数值....................................................
三、 Oracle安装、启动及缷载 9 3.1. 安装 9 3.2. Oracle的卸载、删除 9 四、 Oracle体系结构 10 4.1. 体系结构 10 4.2. 会话 11 4.3. 内存结构 11 4.4. Oracle 实例进程结构 12 4.5. Oracle 物理组件 13 4.6. ...