Chinaunix首页 | 论坛 | 博客
  • 博客访问: 923548
  • 博文数量: 358
  • 博客积分: 8185
  • 博客等级: 中将
  • 技术积分: 3751
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:27
个人简介

The views and opinions expressed all for my own,only for study and test, not reflect the views of Any Company and its affiliates.

文章分类

全部博文(358)

文章存档

2012年(8)

2011年(18)

2010年(50)

2009年(218)

2008年(64)

我的朋友

分类:

2009-05-16 11:01:26

 
rebuild online的时候读的是表数据,全表扫描表创建一个新的索引,这中间旧的索引还可以使用并且不BLOCK DML操作,在7*24小时的数据库中是比较适用的情况。
直接REBUILD的话是读取原有索引数据进行REBUILD,会BLOCK住对表的DML操作。
索引rebuild在 在线库操作也是一个很麻烦&恐怖的事情。
一般情况下,只能采用rebuild online,但是rebuild online在有修改的情况下,又非常慢。
另外,rebuild与rebuild online差别也很大的,rebuild online读的是表,rebuild读的是索引。
coalesce一般不做,没有太大意义的事情
我再解释一下,为什么一个稳定的索引coalesce效果不大呢
因为索引扫描,基本是小范围的范围扫描与唯一索引扫描居多,而索引全扫描与快速全扫描都是很少的。
那么,范围扫描与唯一扫描,coalesce基本是没有什么优化的效果。

但是,如果索引已经倾斜的很严重,如果这个时候去做coalesce,是要扫描所有的叶块,合并数据,并改变上层的指针的,代价比rebuild更大。
nonarchive就coalesce好了
如果是archive log mode, 建议少用.
阅读(1351) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~