手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

记录一则rebuild index消除索引碎片的效果

[日期:2018-06-10] 来源:Linux社区  作者:AlfredZhao [字体: ]

背景:在一次某客户的停产维护中,有一项例行对大表rebuild索引的操作,本是按部就班的操作,其效果却出乎我的意料,大部分索引的效果前后都有4倍左右的变化,最大的那个索引前后居然差了7倍多,并且重建索引也没有用到压缩选项,这个与我之前的预期差距很大,化名记录下这个结果。

1. 重建索引

使用rebuild重建索引,因为是停产状态,无需加online选项:
--rebuild index
ALTER INDEX JINGYU.IDX_XXX_1
REBUILD
NOCOMPRESS
PARALLEL 4
TABLESPACE DBS_I_JINGYU
STORAGE (INITIAL    64K);

--noparallel
alter index JINGYU.IDX_XXX_1 noparallel; 

需要注意如果用到并行,结束后一定要记得取消并行度。

2.重建前后索引大小变化

比对重建前后索引的空间大小占用变化:
--重建前索引空间:
select owner, segment_name, bytes/1048576 "MB" from dba_segments where segment_name like 'IDX_XXX_1';

OWNER                          SEGMENT_NAME                          MB
------------------------------ ------------------------------ ----------
JINGYU                        IDX_XXX_1                      78749.125


--重建后索引空间:
select owner, segment_name, bytes/1048576 "MB" from dba_segments where segment_name like 'IDX_XXX_1';

OWNER                          SEGMENT_NAME                          MB
------------------------------ ------------------------------ ----------
JINGYU                        IDX_XXX_1                      10795.4375

可以看到这个索引IDX_XXX_1从78749M变成了10795M,前后相差7倍之多,效果非常明显。其余大部分大表索引重建前后也有4倍左右的差距。

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-06/152798.htm

linux
相关资讯       rebuild index 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款