您的位置:首页 > 数据库 > Oracle

oracle-决定回表性能的因素

2013-12-25 22:17 232 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: