oracle 排序性能优化,Oracle优化之: 利用索引的有序性减少排序

ORDER BY通常会有两种实现方法,一个是利用有序索引自动实现,也就是说利用有序索引的有序性就不再另做排序操作了。另一个是把结果选好之后再排序。

用有序索引这种,当然是最快的,不过有一些限制条件,来看下面的测试。

测试数据:student表有两个字段id ,sid ,id是主键。一共有20W条记录,id从1到200000,sid也是从1到200000的数据。

第一种情况 : order by的字段不在where条件也不在select中

select sid from student where sid < 50000 order by id;

第二种情况 : order by的字段不在where条件但在select中。

select id,sid from student where sid < 50000 order by id;

第三种情况 : order by的字段在where条件但不在select中。

select sid from zhuyuehua.student where sid < 50000 and id < 50000 order by id;

你可能感兴趣的:(oracle,排序性能优化)