程序员人生 网站导航

Oracle分页查询性能优化

栏目:数据库应用时间:2016-10-17 15:48:14

数据库中表的数据的 Web 显示,如果没有展现顺序的需要,而且由于满足条件的记录如 此之多,就不能不对数据进行分页处理。常经常使用户其实不是对所有数据都感兴趣的,或大部份情 况下,他们只看前几页。 

通常有以下两种分页技术可供选择。 

1
2
3
4
5
6
7
Select from (
Select rownum rn,t.* from table t)
Where rn>&minnum and rn<=&maxnum
Select from (
Select rownum rn,t.* from table t rownum<=&maxnum)
Where rn>&minnum

看似类似的分页语句,在响应速度上其实有很大的差别。来看1个测试进程,首先创建1个测试表。 

1
SQL>create table test as select from dba_objects;

并反复地插入相同数据。 

1
SQL>insert into test select from test;

最后,查询该表,可以看到该表的记录数约为 80 万条。 

1
2
3
4
SQL> select count(*) 
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐