阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

96次阅读
没有评论

共计 991 个字符,预计需要花费 3 分钟才能阅读完成。

背景:在一次某客户的停产维护中,有一项例行对大表 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 倍左右的差距。

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计991字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中