您的位置:首页 > 其它

高性能的存储过程分页(特别是上万条数据有明显效果)

2006-07-13 16:10 288 查看
主要用的就是set RowCount 这个命令

先看看set RowCount 有什么用,

假如我有数据100条,我在储存过程中加上了这句

set RowCount 40

这时候我Select 所有的数据但是只有40条记录.

知道这个之后就好办了,看下面的

CREATE PROCEDURE test
@pagesize int,--每页多少条效果
@currentPageindex int--当前页是多少
AS
Declare @tempID int --变量的tempID,用于获取当前记录的索引ID

Declare @tempRecord int
Set @tempRecord=(@currentPageindex-1) * @pagesize+1--变量获取是你当前页和每页记录多少条的积再加上一就是把光标向前再移动一

Set Rowcount @tempRecord
Select @tempID=CategoryID from Categories Order by CategoryID desc
Set Rowcount @pagesize --这里用于取数据pagesize 条

Select * From Categories Where CategoryID>=@tempID Order By CategoryID desc
Set Rowcount 0--设置所有的行为0
GO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: