Oracle使用rownum进行分页,rownum是从1开始的:
select * from
(select rownum as rn, a.* from table_name a where rownum <= pageIndex * pageSize)
where rn > (pageIndex - 1) * pageSize
其中,pageIndex是页码,pageSize是每页的条数
MySQLMySQL的limit语句 (select * from 表名称 limit m,n) 是很方便,但是对数据量很大的表不适合直接使用
综合考虑下,我们可以利用索引来进行高效地分页查询
方式一:把这一页的第一条数据的id查出来,然后按数量查询
select * from table_name
where id >= (select id from table_name limit (pageIndex-1) * pageSize, 1)
limit pageSize
方式二:把这一页所有的数据id查出来,然后从数据库中按照这些id进行查询
select a.* FROM table_name a
join
(select id from table_name limit (pageIndex-1) * pageSize, pagesize) b
on a.id = b.id
更多内容,请关注公众号:程序员高手之路
在公众号回复:Oracle资源 即可免费获取Oracle视频教程!