2.5.3 如何重建索引

对于重建索引来说,似乎没有太多的好办法,大致有索引重建和索引重组两种。而重组和重建都可分为在线操作和离线操作。

q  离线重组:alter index idx_alex_t05_id shrink space

q  在线重组:alter index idx_alex_t05_id coalesce

q  离线重建:alter index idx_alex_t05_id rebuild

q  在线重建:alter index idx_alex_t05_id rebuild online

对于索引重组来说,很多说法都是大为肯定的,快捷且影响小。事实情况并未如此,coalesce与shrink space命令相比于重建索引有一个显著的缺点:不会导致索引降级,且coalesce不回收索引上的空闲空间,shrink space空间回收也不是很彻底,这对高并发的OLTP应用来说是没有太大意义的。为什么说coalesce是在线,而shrink space是离线呢?主要是从资源消耗上来说的。

对应高并发的OLTP系统,我们宁愿选择在空闲时段进行索引重建,以换取高效的索引性能。对比两种重建方式,离线重建索引实质上是对现有索引结构的扫描和重建操作,其过程中索引本身是不可用的,对于一个高并发的OLTP系统来说,任何时间段都是不可能接受的,更多时候我们会选择在线重建。在线重建实质上是对表进行扫描,再新建一个同样的索引,然后进行切换和旧索引的清除。

Trackback

no comment untill now

Add your comment now

切换到手机版