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

主要用的就是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
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值