当对分区表进行 一些操作时,会造成索引失效。

当有truncate/drop/exchange 操作分区  时全局索引 会失效。

exchange 的临时表没有索引,或者
有索引,没有用including indexes的关键字,会导致局部的索引失效,就是某个分区失效
重建局部索引只能用alter index local_idx rebuild partition p1这样的方式

分区表SPLIT的时候,如果MAX区中已经有记录了,这个时候SPLIT就会导致有记录的新增分区的局部索引失效!

查寻某个分区表中 各个分区 索引状态  USABLE/UNUSABLE

select index_name, partition_name, statusfrom user_ind_partitionswhere index_name = 'indexName';

--重建索引

--local索引重建
select b.table_name,
a.INDEX_NAME,
a.PARTITION_NAME,
a.STATUS,
'alter index ' || a.index_name || ' rebuild partition ' ||partition_name || ';' 重建列
from USER_IND_PARTITIONS a, user_part_indexes b
where a.index_name = b.index_name
and b.TABLE_NAME IN ('PART_TAB_SPLIT')
and STATUS = 'UNUSABLE'
ORDER BY b.table_name, a.INDEX_NAME, a.PARTITION_NAME;--全局索引重建
alter index idx_part_split_col3 rebuild;

在针对truncate等 操作时直接更新 index 也可以搞定。

alter table part_tab_trunc truncate partition p2 Update GLOBAL  indexes;

  

转载于:https://www.cnblogs.com/javaMan/p/3980469.html

Oracle 分区表中索引失效相关推荐

  1. oracle不适合建立索引的场景,Oracle 分区表中本地索引和全局索引的适用场景

    背景 分区表创建好了之后,如果需要最大化分区表的性能就需要结合索引的使用,分区表有两种索引:本地索引和全局索引.既然存在着两种的索引类型,相信存在即合理.既然存在就会有存在的原因,也就是在特定的场景中 ...

  2. oracle删除数据索引失效,oracle数据库索引失效

    今天一个同事突然问我索引为什么失效.说实在的,失效的原因有多种: 但是如果是同样的sql如果在之前能够使用到索引,那么现在使用不到索引,以下几种主要情况: 1. 随着表的增长,where条件出来的数据 ...

  3. oracle分区list,Oracle 分区表中存在range-list表分区时遇到问题及解决办法

    Oracle 分区表中存在range-list表分区时遇到问题及解决办法 我们遇到的通常是list分区这种居多,我就不介绍了. 以下解决的是 复合分区情况 表已存在,需要在范围分区中增加一个分区 我们 ...

  4. oracle分区表加索引,oracle分区表增加索引

    oracle分区表增加索引 2016-03-29 oracle分区表查询比较慢,以前是按CID分区,欲增加索引. 1.普通表创建index CREATE INDEX IDX_LOGIN_MESSAGE ...

  5. oracle数据库中索引会失效的几种情况

    创建Oracle 索引的目的是为了避免全表扫描数据,提高查询效率,但是如果sql语句写的不好致使索引失效,反而会影响数据查询效率.以下几种情况就会导致索引失效: 1. 没有 WHERE 子句 众所周知 ...

  6. oracle备份能备份索引吗,ORACLE会使索引失效的条件

    1. 没有 WHERE 子句 2. 使用 IS NULL 和 IS NOT NULL SELECT ... FROM emp WHERE comm IS NULL; comm 列的索引会失效 3. W ...

  7. Oracle优化避免索引失效

    Oracle 索引的目标是避免全表扫描,提高查询效率,但有些时候却适得其反 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 应尽量避免在 wh ...

  8. mysql 分区索引失效_数据库分区表全局索引失效故障

    现场实施反馈一个分区表的几个全局索引老是失效. 通过视图v$sql, v$sqlarea等视图查看,对这张分区表执行过的操作有drop partition和truncate partition操作,但 ...

  9. Mysql中索引失效得原因和解决

    文章目录 前言 1.单个字段测试 varchar字段测试 name字段 name and status 测试 name and status and address 测试 2.最左前缀法则 复合索引测 ...

  10. 【Oracle】分区表中索引状态为N/A

    我遇到的问题: 1. 表为range分区加list子分区 2. 表上建本地分区索引 3. dba_ind_partitions中查询索引状态为N/A 4. 即使删除重建索引,状态依旧为N/A 问题解决 ...

最新文章

  1. python not函数_python 函数
  2. 最新、最全面的LAMP+wordpress安装过程!!
  3. ServiceLoader的使用
  4. 基于openfire+smack的Android、消息推送服务
  5. 「递归」第2集 | 变得了魔术,解得了高数,这届鹅厂程序员有点酷
  6. 误打误撞的模板字符串
  7. js横向滚动_seleniumJS处理滚动条
  8. asp.net mvc项目中遇到的古怪的问题,(项目中有frame框架)
  9. Exception in thread “main“ java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibilit
  10. javascript-cropper插件翻译笔记
  11. 杭州-千岛湖(入门篇骑行)
  12. Linux 基础之基础网络ss命令
  13. Theos(二):NIC(New Instance Creator)
  14. 数据驱动测试一:使用TestNG进行数据驱动
  15. 查找计算机硬件和软件的翻译工具,计算机软件和硬件,PC computer software and hardware,音标,读音,翻译,英文例句,英语词典...
  16. centOS7 安装 libgdiplus-devel
  17. 基于java的药店药品进销存管理系统
  18. 算法题:求s=a+aa+aaa+aaaa+aa…a的值
  19. c语言队列渡船问题,渡船有关问题
  20. 电脑上office2010安装包下载安装教程

热门文章

  1. lodop转到其他html页面,vue项目中使用Lodop实现批量打印html页面和pdf文件
  2. MAC修改.bashrc/.bash_profile无效,默认的用户配置文件是.zshrc,
  3. 更改MAC终端显示的主机名
  4. NLPIR java测试(没找到范例代码)
  5. LINUX下载编译gperf
  6. LINUX下载编译ass
  7. 反思:前一段时间的开发中,忽略了对象概念
  8. Ubuntu 16上命令行提示长目录的解决办法
  9. 管理感悟:知行合一与内化
  10. redo log 和undo log_MySQL 持久化保障机制-redo 日志