分页~~

  1.分页有真分页和假分页,假分页就是把数据全部取出,在显示出来之前处理要显示多少记录,而真分页是在数据库拿出一页数据的数据直接显示。假分页效率低下,占用服务器和客户端资源大,如果数据量很大,会造成成服务器内存不足而使程序异常,所以不推荐使用。而真分页依赖数据库支持,核心思想就是从行号 为startRow 的记录开始拿数据,拿一个pageSize 的数据。

    SQL Server2005有ROW_NUMBER() 支持分页

    ORACLE有rownum

    MySQL有limit

    SQL Server2000那个top并不是专门用于分页,只是取结果集的前N条记录,不怎么好用。

    如果项目中数据量比较大,就不可以使用假分页。项目如果使用 Hibernate技术,Hibernate支持支持分页,但它的分页依赖数据库的支持,是真分页,这个可以从Hibernate构造的SQL语句看出来。

 

 

   2. 下面以mysql的limit为例子(limit放在select语句的最后面)

 

    select  * from db  where name='1' limit 0,5

 

 

  3.几种常见的limit格式

  select * from table LIMIT 5,10; #返回第6-15行数据 select * from table LIMIT 5; #返回前5行 select * from table LIMIT 0,5; #返回前5行

 

你可能感兴趣的:(分页~~)