sqlserver分页:SQL Server中利用存储过程来高性能地进行分页来源: 发布时间:星期六, 2008年12月20日 浏览:2次 评论:0
="t18"> 分页查询思路方法已经很多很多在这里我也加入成为其中员
SQL Server中有个Set Rowcount设置它意思是使命令处理在响应指定行数的后停止处理命令利用这个特点我们可以借用它来在个千万行级数据表中实现高性能分页查询先来说说实现方式: 1、我们来假定Table中有个已经建立了索引主键字段ID(整数型)我们将按照这个字段来取数据进行分页 2、页大小我们放在@PageSize中 3、当前页号我们放在@CurrentPage中 4、如何让记录指针快速滚动到我们要取数据开头那行呢这是关键所在!有了Set RowCount我们就很容易实现了 5、如果我们成功地滚动记录指针到我们要取数据开头那行然后我们把那行记录ID字段值记录下来那么利用Top和条件我们就很容易得到指定页数据了当然有了Set RowCount我们难道还用Top么? 看看Set Rowcount如何来帮我们忙吧: Declare @ID Declare @MoveRecords --@CurrentPage和@PageSize是传入参数 Set @MoveRecords=@CurrentPage * @PageSize+1 --下面两行实现快速滚动到我们要取数据行并把ID记录下来 Set Rowcount @MoveRecords Select @ID=ID from Table1 Order by ID Set Rowcount @PageSize --最恨为了减少麻烦使用*了但是在这里为了介绍说明方便暂时用下 Select * From Table1 Where ID>=@ID Order By ID Set Rowcount 0 大家可以试试看在个1千W记录表里面下子方翻页到第100页(每页100条)看看有多快! 出处:南疯 BLOG http://name-lh.cnblogs.com/archive/2006/03/08/346059.html 0
相关文章
读者评论
发表评论 |