分页~~

    技术2022-05-12  13

      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行

     


    最新回复(0)