合并索引和重建索引

      随着对表不断进行操作,在表的索引中将会产生越来越多的存储碎片,这对索引工作效率将会产生负面影响,

这是用户可以用两种方式来清理碎片,即合并索引和重建索引。
1.合并索引
     合并索引只是简单地将B树叶子节点中的存储碎片合并到一起,并不会改变索引的物理结构       
     [例子]使用COALESCE选项进行合并索引
      sql> alter index index_name coalesce;
2.重建索引
     重建索引其实就是重新创建一个新的索引,然后删除原来的索引,所以在创建索引时,同样可以使用CREATE
index语句中的各种选项,比如,利用STORAGE选项知道存储参数,利用TABLESPACE选项指定的表空间。
     执行delete dorm 操作时,会删除表中的数据,但是索引上仅仅进行逻辑删除,其所占的空间不能供其它插
操作使用,只有当索引数据块上的所有索引入口全部被删除后,该索引数据库上的空间才能使用,如果在索引列上
频繁的执行UPDATE或者DELETE操作的话,则要定期重建索引,以提高空间利用率。
      [例子]可以使用rebuild选项进行重建索引
        sql>alter index index_name rebuild;
      [例子]在重建索引上指定TABLESPACE,让所有存储到另外一个空间
        aql>alter index index_name rebuild tablespace other_tablespace;

合并索引和重建索引都可以清理索引数据块中的碎片,但是又有区别,
       合并索引:
                1.不能将索引移动到其他表空间
                2.代价比较低,不需要使用额外的存储空间
                3.只能在B树的同一子树种进行合并,不会改变树的高度
                4。可以快速释放叶子节点中未使用的存储空间
        重建索引:
                1。可以将索引移动到其他的表空间
                2。代价比较高,需要使用额外的存储空间
                3。重建整个B树,可以降低B树的高度
                4。可以快递更改索引存储参数,如果在重建中指出了ONLINE关键字,还可以再重建索引时使用索引。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值