在 Oracle 中重建分区表上的索引
在 oracle中,重建普通表上的索引很简单。要重建特定索引,只需执行如下sql命令:
ALTER INDEX INDEX_NAME Rebuild;
这里,INDEX_NAME 代表索引的名字,下同。
如果重建某个表上的全部索引,执行如下 PL/SQL 代码:
begin
for c1 in (select t.index_name, t.partitioned from user_indexes t where table_name = 'TABLE_NAME') loop
if c1.partitioned='NO' then
execute immediate 'ALTER INDEX ' || c1.index_name || ' REBUILD';
end if;
end loop;
end;
/
这里,TABLE_NAME 代表索引的名字,下同。
而重建分区表上的索引的方法和上面的有所不同。
如果这个索引不是分区的,那么重建的方法 和 重建普通表上的索引 相同。
如果这个索引是分区的,重建方法是执行如下sql代码:
begin
for c2 in (select partition_name from user_ind_partitions where index_name='INDEX_NAME' and status = 'UNUSABLE')
loop
execute immediate 'alter index ' || c1.index_name || ' rebuild partition ' || c2.partition_name;
end loop;
end;
重建一张表上的所有非分区索引的方法是执行如下sql代码:
begin
for c1 in (select t.index_name, t.partitioned from user_indexes t where table_name = 'TABLE_NAME')
loop
if c1.partitioned='YES'
-- rebuild every unusable partition for partitioned index
for c2 in (select partition_name from user_ind_partitions where index_name=c1.index_name and status = 'UNUSABLE')
loop
execute immediate 'alter index ' || c1.index_name || ' rebuild partition ' || c2.partition_name;
end loop;
end if;
end loop;
end;
而重建这张表上的全部索引的sql 代码如下:
begin
for c1 in (select t.index_name, t.partitioned from user_indexes t where table_name = 'TABLE_NAME'))
loop
if c1.partitioned='NO' then
-- rebuild global index directly
execute immediate 'alter index ' || c1.index_name || ' rebuild';
else
-- rebuild every unusable partition for partitioned index
for c2 in (select partition_name from user_ind_partitions where index_name=c1.index_name and status = 'UNUSABLE')
loop
execute immediate 'alter index ' || c1.index_name || ' rebuild partition ' || c2.partition_name;
end loop;
end if;
end loop;
end;
在 Oracle 中重建分区表上的索引相关推荐
- Oracle中重建表的全局的索引、分区索引、及同时建全局和分区索引----脚本
在oracle中,重建普通表上的索引很简单.要重建特定索引,只需执行如下sql命令: ALTER INDEX INDEX_NAME Rebuild; 这里INDEX_NAME 代表索引的名字,下同. ...
- sql分区表上创建索引_SQL Server中分区表和索引的选项
sql分区表上创建索引 介绍 (Introduction) I work for a large, multinational financial institution. Like most com ...
- oracle分区表加索引,Oracle 分区表上的索引
分区表上的索引分为:本地(局部)索引(local index) 和 全局索引(global index) 1.本地索引 (1)普通索引 SQL > CREATE INDEX INDEX_NAME ...
- oracle中主键和唯一索引的区别说明
上周六去参加上海Oracle WDP俱乐部沙龙的一次交流,其中提到了关于"Oracle中主键和唯一索引的区别",基本上大家都可以说上几个,在网上也可以找到,但是总感觉不太全,根据自 ...
- oracle查找分区重建,Oracle中重建表分区
Oracle中重建表分区 个人分类:原创笔记 例如对myuser用户下表userbase执行表分区重建操作! 1--验证是否可以执行 SQL> execute dbms_redefinition ...
- 如何在ORACLE数据库的字段上建立索引?
Oracle中建立索引,会提高查询速度: create index 索引名 on 表名(列名); 例如: create index index_userid on tbl_detail(userid) ...
- oracle技术之顺序文件上的索引(一)
顺序文件上的索引(一) 研究索引结构,我们首先来考虑最简单的一种:由一个称为数据文件的排序文件得到另一个称为索引文件的文件,而这个索引文件由键-指针对组成.在索引文件中查找键K通过指针指向数据文件中查 ...
- ORACLE中关于外键缺少索引的探讨和总结
在ORACLE数据库中,定义外键约束时,ORACLE是不会自动创建对应索引的,必须手动在外键约束相关的列上创建索引.那么外键字段上是否有必要创建索引呢?如果有必要的话,巡检时,如何找出外键字段上没有创 ...
- SQLServer中在视图上使用索引(转载)
在SQL Server中,视图是一个保存的T-SQL查询.视图定义由SQL Server保存,以便它能够用作一个虚拟表来简化查询,并给基表增加另一层安全.但是,它并不占用数据库的任何空间.实际上,在你 ...
最新文章
- 新能源汽车:大变革催生十万亿市场空间
- linux下杀死进程的10种方法
- 【html、CSS、javascript-8】JavaScript作用域
- conv2d函数_Pytorch 从0开始学(6)——Conv2d 详解
- 【Android 逆向】ART 脱壳 ( InMemoryDexClassLoader 脱壳 | InMemoryDexClassLoader 类加载器脱壳点总结 )
- C++ 带默认参数值的函数
- android格式化时间中文版,Android 仿微信聊天时间格式化显示功能
- 城市交通路网(信息学奥赛一本通-T1261)
- 20160417_无为_常州
- java的split的正则_Java正则表达式之split()方法实例详解
- 【面向对象】UML类图、用例图、顺序图、活动图、状态图、通信图、构件图、部署图
- 第五章:项目范围管理 - (5.4 创建 WBS )
- redis的hset hget mset mget是什么
- ChinaSoft 论坛巡礼 | 移动软件工程论坛
- 现金流量表补充资料的编制公式
- uni-app 图片上传插件使用说明
- 微信扫码登录,微信公众号生成二维码,关注登录nodejs+vue
- GIS中快速添加天地图、查看历史影像
- 为自动驾驶保驾护航—谈谈主流中间件设计
- IT资质认证证书如何查询?这篇文章教你查询方式
热门文章
- 2021牛客多校9 A Math Challenge(类欧几里得算法+自然数幂前缀和)
- ct上的字怎么消_太全了!CT和PT断线依据,从此判断不求人了!
- 美国留学遇到困难怎么办?
- 大厂实践|Apache Pulsar 消息队列在拉卡拉的应用
- 多商家小程序功能系统
- 免费点亮手机腾讯网图标_不用手机照样点亮
- python数据分析基础 阮敬_教学大纲_Python数据分析
- Android Camera 预览、拍照、保存照片 实现
- Chinese word segmentation 中文词分割
- java 判断文件的类型,用java流方式判断文件类型