日期:2014-05-18  浏览次数:20913 次

求 sql 语句 处理分页技术
求 sql 语句 处理分页技术(这里的数据量比较大)
请问有什么好
语句 对 分页的查询效果比较。或是 jsp中 比较好的分页 技术!谢谢

------解决方案--------------------
如果数据库是Oracle,就使用rownum这个字段吧,每次只查询从rownum到rownun+n条数据,这个n就是你每页的记录数了
------解决方案--------------------
如果是 MySQL 就用 limit 开始行,每页记录数

如:

limit 0,10
limit 10,10

后面的一般是固定的, 开始行 = (page-1)*每页记录数
------解决方案--------------------
oracle:
select a.* from (select *,rownum rn from tablename where rownum<=lastIndex)a where a.rn>beginIndex
 lastIndex 该页的最后一条记录,beginIndex 该页的第一条记录
sqlserver
select * from (select top n * from (select top lastIndex * from tablename )a order by index dsc)b order by index asc
数据库中默认是按照主键排列的 index代表主键(或者要选择的某个字段)n代表按照多少条记录来进行分页,lastIndexlastIndex 该页的最后一条记录
------解决方案--------------------
我共享了一个java版本的sql分页生成器你可以去看看 
生成的sql在sql 2000上能用
------解决方案--------------------
oracle 有伪列,用来分页。貌似大家都知道。LZ要不?要的话给我留言。我给你个例子