超详细的Oracle数据库索引创建及索引重建变更规范

人工智能2025-11-05 10:27:2155

很多时候我们都需要对某些大表去建索引或者重建,超详如果不正当操作就很有可能会影响到生产环境,数据索引针对这个方面我写了一些关于数据库索引创建及索引重建变更的库索规范,仅供参考。引创

一、建及索引创建前检查

1. 检查表段大小:

select segment_name,重建 bytes/1024/1024 MB from user_segments where segment_name=<表名>; 

2. 检查表列不同值分布情况:

select a.table_name,  a.column_name,  a.num_distinct,  round(a.num_distinct * 100 / b.num_rows) "distinct percent%"  from user_tab_columns a, user_tables b  where a.table_name = b.table_name  and a.table_name = ORDER_RELEASE_STATUS;

这里可以看到一般不同值分布占全表记录数,如果percent%达到15%以上就可以建立索引提高效率

二、变更索引创建

因为之前数据库规范没建立,规范居然有一张表建立了255个字段,源码库超详且索引建了50多个...

1. 创建单列索引:

create index index_name on table(col1) tablespace tbs_name [nologging] [online] [parallel n]; alter index index_name noparallel ;

2. 创建复合索引:

create index index_name on table(col1,数据索引col2,库索…) tablespace tbs_name [nologging] [online][parallel n]; alter index index_name noparallel ; 

3. 创建索引:

create unique index index_name on table(col1,col2,…) tablespace tbs_name [nologging][online][parallel n]; alter index index_name noparallel ;

4. 创建分区索引:

Local 索引:

小表: create index index_name on table(col1) local; 大表: 1)create index index_name on table(col1) local unusable; 2)alter index index_name rebuild partition p_name [parallel n]; alter index index_name noparallel ; 3)execute dbms_stats.gather_index_stats(ownname=> ,indname=> ,)

Global 索引:

create [global] index index_name on table(col); 

5. 删掉创建的索引

drop index index_name; 

三、索引重建

1. 重建普通索引:

alter index index_name rebuild tablespace w_data [online][ parallel n][ nologging];  alter index index_name noparallel ; 

2. 重建分区索引:

alter index index_name rebuild partition partition_name tablespace tbs_name[online][parallel n][nologging]; alter index index_name noparallel ;

四、引创数据库索引检查

1. 普通索引检查

select index_name,建及table_name,status,tablespace_name from user_indexes;  

status 为 valid 表示索引状态正常。

2. 分区索引检查

select index_name,重建partition_name,status,tablespace_name from user_ind_partitions;

status 为 usable 表示索引状态正常。

最后提一点,变更大家在建索引后一定要注意观察数据库 SQL 执行计划是否 OK,WordPress模板执行效率是否提高,然后监控下应用是否正常,不能创建完就拍拍屁股走人,后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下。云南idc服务商

本文地址:http://www.bzuk.cn/html/6c39399600.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

乐视2s手机的功能和性能介绍(一款实用而强大的智能手机)

一口气说出六种实现延时消息的方案

2022年值得使用的 Node.js 框架

在 React 中实现条件渲染的七种方法

Rock洛克耳麦的性能如何?(Rock洛克耳麦的音质和舒适性测评)

闲鱼一面:Thread.sleep(0) 到底有什么用?

让程序员心动的11种新编程语言

11条MySQL规范,你知道的有几个?

热门文章

友情链接

滇ICP备2023006006号-33