zoukankan      html  css  js  c++  java
  • SQL Server使用ROW_NUMBER进行快速分页查询

    SQL Server中查询分页数据的方法有不少,主要有以下两种

    1、采用Top – Not In - Top方案,此方法比较复杂,多嵌套,里面包含了in语句,效率不高,但是兼容个版本的SQL Server。

    2、采用ROW_NUMBER()方法实现分页难易适中,效率较高。LINQ中的SKIP和TAKE也是采用这种方式来进行分页的,应该是目前采用的比较广泛的分页方式。但是ROW_NUMBER()只支持SQL2005及以上版本

    下面我们来看一下使用ROW_NUMBER()如何进行分页查询

    我们可以通过ROW_NUMBER() OVER()进行排序并得到一个带序号的视图,再通过序号确定要查找的分页数据

    例如:

    DECLARE @pageSize INT
    DECLARE @pageIndex INT
    
    --第4页,每页显示10条数据
    SET @pageSize = 10
    SET @pageIndex = 4
                
    SELECT * FROM
    (
        SELECT ROW_NUMBER() OVER (ORDER BY Created_Time ASC) AS 'RowNumber', * FROM dbo.COM_UserInfo
    ) AS UserInfo
    WHERE RowNumber BETWEEN ( ( ( @pageIndex - 1 ) * @pageSize ) + 1 ) AND ( @pageIndex * @pageSize )

  • 相关阅读:
    Linux下的MySQL主从同步
    人不能同时在两个地方做猪(Scrum Team)
    memcache安装
    Java开发中的Memcache原理及实现
    linux mv
    nginx
    idea 热部署
    vue watch
    vue入门
    基于vue-cli快速构建
  • 原文地址:https://www.cnblogs.com/zhuyongblogs/p/5139507.html
Copyright © 2011-2022 走看看