首页 > 数据库技术 > 详细

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

时间:2016-01-18 09:03:57      阅读:213      评论:0      收藏:0      [点我收藏+]

这个在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进行的快速分页

原文:http://www.cnblogs.com/lori/p/5138292.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!