关于Web程序中的查询分页开发

    一般我们在开发程序分页时,无非是逻辑分页和物理分页两种。逻辑分页也就是内存分页,这样对于大数据量(比如超过10万及以上)的时候,操作的效率就会比较低下,因此在大数据量的时候,一般建议进行物理分页,也就是数据库分页。

    那么,通过命名SQL如何处理分页查询呢?最优方式是在编写命名SQL时即在SQL语句中进行分页的处理。以下为几种常见数据库的分页查询:

    一:Oracle 
    SELECT * FROM (SELECT rownum as rowno, a.* from
表名 a where rownum <= endIndex ) b where b.rowno >= startIndex

    二:DB2
    SELECT * FROM (select
字段1,字段2,字段3,rownumber() over(ORDER BY 排序用的列名 ASC) AS rn from 表名) AS a1 WHERE a1.rn BETWEEN 10 AND 20

    三SQL Server

      SELECT TOP endIndex*,identity(int,0,1) as #Temp_id into #temp from 表名 SELECT * FROM #temp where #Temp_id between startIndex and endIndex  drop   table   #temp

    四MySQL

    SELECT * FROM 表名 limit startIndex, length

   

       通过在编写命名SQL时写明分页查询的语句,将诸如startIndexendIndex等变量传递给执行的命名SQL,即可以做到通过命名SQL的进行数据的分页查询。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值