知方可补不足~sqlserver中使用ROW_NUMBER进行的快速分页

简介:

这个在SQL2005之后最见的一种分页方式,也是Linq默认生成的执行分页的方法(skip,take),当然在性能上小数量没有问题,在数据达到百万时会很慢,这是我们要清楚的,有时我们在LINQ环境下也需要分页写SQL,这时如何去分布就成为了一个很不好处

理的问题,所以大叔还是把准备的分页代码贡献一下

DECLARE @pageSize INT ;
DECLARE @pageIndex INT ;
SET @pageSize = 
SET @pageIndex = ;
 --第二页,每页显示5条数据                      
SELECT  *
FROM    ( SELECT    ROW_NUMBER() OVER ( ORDER BY CreateDate ASC ) AS 'rowNumber' ,
                    *
          FROM      dbo.Task_Info
        ) AS temp
WHERE   rowNumber BETWEEN ( ( ( @pageIndex - 1 ) * @pageSize ) + 1 )
                  AND     ( @pageIndex * @pageSize )      

在LINQ环境下使用SQL代码如下

Db.Database.SqlQuery<FighterTaskTotalDTO>("你的代码")

结果

本文转自博客园张占岭(仓储大叔)的博客,原文链接:知方可补不足~sqlserver中使用ROW_NUMBER进行的快速分页,如需转载请自行联系原博主。

目录
相关文章
|
存储
SQLServer分页获取数据的存储过程
SQLServer分页获取数据的存储过程
161 0
|
SQL 存储 PHP
解决高版本laravel/framework中SQLServer2008分页报错问题
【11月更文挑战第15天】在高版本的Laravel框架中,使用SQLServer 2008数据库进行分页操作时可能会遇到兼容性问题,导致报错。本文提供了两种解决方案:一是升级数据库版本至2012或更高,以提高对复杂查询的支持;二是通过自定义分页查询构建器,手动调整分页逻辑,使其适应SQLServer 2008的特性。具体实施步骤包括备份数据、安装新数据库版本、恢复数据,或创建自定义分页查询类并在模型中使用。这些方法能有效解决分页报错问题。
192 3
|
SQL PHP 数据库
解决高版本laravel/framework中SQLServer2008分页报错问题
【11月更文挑战第6天】在高版本的 `laravel/framework` 中使用 SQL Server 2008 进行数据库操作时,可能会出现分页报错。这是由于 `laravel` 的分页机制与 SQL Server 2008 的某些特性不兼容所致。解决方法包括:1. 升级数据库版本;2. 自定义分页查询语句;3. 使用兼容包或插件;4. 修改 `laravel` 的分页逻辑。
183 3
|
SQL 存储 数据库
盘点现在用的SqlServer 5种分页方式和拉姆达表达式分页,进来看看吧。
盘点现在用的SqlServer 5种分页方式和拉姆达表达式分页,进来看看吧。
【干货】SqlServer 总结几种存储过程分页的使用
【干货】SqlServer 总结几种存储过程分页的使用
|
关系型数据库 MySQL
mysql分页原理和sqlserver里面序列的用法
mysql分页原理和sqlserver里面序列的用法
242 0
|
SQL Oracle 关系型数据库
Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句
最近把平时在项目中常用到的数据库分页sql总结了下。大家可以贴出分页更高效的sql语句。
324 0
|
SQL Go 数据库
MSSQL sql server 2005/2008 row_number()函数应用之–删除表中重复记录,只保留一条不重复数据
原文:MSSQL sql server 2005/2008 row_number()函数应用之–删除表中重复记录,只保留一条不重复数据 转自:http://www.maomao365.com/?p=4942 下文主要讲述:重复数据只获取一条的方法 row_number函数在数据库中的功能是为每一...
1310 1
|
Oracle Java 关系型数据库
mybatis下SqlServer的分页的最优解
mybatis下SqlServer的分页的最优解