时间:2021-07-01 10:21:17 帮助过:19人阅读
Oracle的分页sql,传统的是通过rownum,来进行分页,如下:
SELECT * FROM (SELECT T1.*, ROWNUM rn FROM (SELECT * FROM testTable ORDER BY id DESC) T1 WHERE ROWNUM <= 20) WHERE rn > 0;
不过上面的分页sql在数据量庞大的时候,越往后的分页查询会越缓慢,还有另外的一种效率很高的分页查询,通过rownum和rowid来进行分页,如下:
SELECT t1.* FROM testTable t1, (SELECT rid FROM (SELECT ROWNUM rn, t.rid FROM (SELECT ROWID rid FROM testTable WHERE 1 = 1) t WHERE ROWNUM <= 20) WHERE rn > 0) t2 WHERE 1 = 1 AND t1.ROWID = t2.rid;
总结:分页的应用在各式各样的系统中,都是必不可少的组成部分,对分页sql的应用和优化也一直是程序开发中的重要成分,需要不断的记忆和总结。
mysql和oracle分页
标签:链接地址 oracle数据库 desc www. 查询语句 优化 sql语句 语句 div