virtual index、unusable index、invisiable index的区别

    一、virtual index 、unusable index、invisiable index定义

    oracle11g后,index又推出了一个新的特性invisiable,invisiable表示不可见。在oracle11g之前,index有一个这样的特性unusable,unusable表示不可用。

    unusable index表示该索引停止使用,所占资源不会继续增长,随着dml的操作,oracle并不会去维护unusable的开销。如果当unusable index需要继续使用时,则需要重新建立rebuild,此时有一个缺点就是当数据量大时会耗时。

    而oracle11g后,推出的invisiable index,对index的管理又做出了一个大的改进,当索引invisiable时,表示索引不可见,不可见指的是对oracle执行计划的不可见,但其是存在的,所以当invisiable index需要使用时只需要改变其属性变为visiable就行,并不会带来更大的开销问题,不过它的劣势在于dml操作时会存在开销问题。oracle11g还提供了这样一个参数OPTIMIZER_USE_INVISIBLE_INDEXES,默认值为false,意思是是优化器是否使用invisible index索引,当OPTIMIZER_USE_INVISIBLE_INDEXES=true,Optimizer优化器就会识别invisiable index。

    virtual index表示不存在物理实体的索引,它不存在任何的io和资源开销问题,但它对oracle执行计划是可见的,virtual index设计的主要目的是用来评估索引性能问题,根据执行计划来判断是否应该建立索引,virtual index在测试性能方面是非常有意义的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值