jdbctemplate怎么实现oracle分页查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdbctemplate怎么实现oracle分页查询相关的知识,希望对你有一定的参考价值。
参考技术A sql语句如下:分页1
SELECT *
FROM (Select ROWNUM AS ROWNO, T.*
from 表名 T(别名)
where 表字段 between to_date('20060501', 'yyyymmdd') and to_date('20060731', 'yyyymmdd')
AND ROWNUM <= 20) TABLE_ALIAS
WHERE TABLE_ALIAS.ROWNO >= 10;
经过测试,此方法成本最低,只嵌套一层,速度最快,即使查询的数据量再大,也几乎不受影响,速度依然.
分页2:
SELECT *
FROM (SELECT TT.*, ROWNUM AS ROWNO
FROM (Select t.*
from 表名 T(别名)
where flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060531', 'yyyymmdd')
ORDER BY FACT_UP_TIME, flight_no) TT(别名二)
WHERE ROWNUM <= 20) TABLE_ALIAS
where TABLE_ALIAS.rowno >= 10;
经过测试,此方法随着查询范围的扩大,速度也会越来越慢,本回答被提问者采纳
Oracle, SQL Server, My SQL如何实现数据分页查询语句
参考技术A Oracle, SQL Server 和MySQL的分页SQL语句如下:Oracle:方法一:SELECT * FROM(SELECT A.*, ROWNUM RNFROM (SELECT * FROM TABLE_NAME) AWHERE ROWNUM <= 40)WHERE RN = 21;方法二:SELECT * FROM(SELECT A.*, ROWNUM RNFROM (SELECT * FROM TABLE_NAME) A)WHERE RN between 21 and 40公认第二种方法效率没有第一种高。原因是第二种要把子查询执行完,而第一种方法子查询执行到Rownum=40后就结束了。MySQL:SELECT * FROM TABLE_NAME LIMIT 10, 20表示从第11条数据开始取20条数据返回,limit后的2个参数含义为:起点和步长,即从那条数据开始,取多少条数据,再如取前20条数据:SELECT * FROM TABLE_NAME LIMIT 0, 20SQL Server2000:SELECT TOP @pagesize * FROM TABLE_NAME WHERE id not in (SELECT TOP @pagesize*(@page-1) id FROM TABLE_NAME ORDER BY id) ORDER BY id本回答被提问者采纳以上是关于jdbctemplate怎么实现oracle分页查询的主要内容,如果未能解决你的问题,请参考以下文章
pageHelper分页查询oracle数据插入mysql时数据量变少