oracle-决定回表性能的因素

       oracle里面根据rowid再查询数据的过程叫做回表,有时候回表是不能避免的,那么回表的性能是什么决定的呢?下面我们来做一个实验。

      1,首先创建一张表,脚本如下

        

        这张表只有2列,X列是有序的数字,Y是随机数字转换的字符串,在表上面建立X的索引。

        2.根据第一步创建的表,创建第二张表,这个表是建立Y的索引

     

     

   3.在两张表上面分别运行 

   

select /*+ index( colocated colocated_pk ) */ * from colocated where x between 20000 and 40000;

select /*+ index( disorganized disorganized_pk ) */* from disorganized  where x between 20000 and 40000;



通过比较两者性能差异显著,这是为什么呢?


知道为什么了吧 ,聚合因子这2列查很多啊,知道什么决定回表的性能了吧。

        

注:为了确保能走索引,上面2条select用了Hints

       

        

      

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值