分页查询是web开发中非常常用的功能,笔者主要使用Oracle数据库工作,所以只总结一下Oracle中的分页方法
通常是由下面语句就可以完成分页功能:
SELECT x.*
from (SELECT z.*,rownum rn from XZQH z where rownum<=101) x
where x.rn>=90
查询第90条到101条记录(包含边界);
小弟才疏学浅,目前就只会这一种分页方法,但是这种分页方式的缺点是显而易见的,如果数据量过大的话,(SELECT z.*,rownum rn from XZQH z where rownum<=101)这段代码查询的数据量就很大,如果查询条数很大(比如第89900-90000条)时,会先查出90000条数据来,然后再取后100条,这样势必导致效率低下,反应变慢.
我想,应该有更高效的方法,但是在网上搜索过却没有结果,如果有哪位朋友有更好的办法,请不吝赐教,谢谢.