一个高效的数据分页的存储过程 可以轻松应付百万数据

发表于:2008-10-20来源:作者:点击数: 标签:数据
关键字:高效的数据分页的存储过程 CreatePROCEDUREpageTest--用于翻页的 测试 --需要把排序字段放在第一列 ( @FirstIDnvarchar(20)=null,--当前页面里的第一条记录的排序字段的值 @LastIDnvarchar(20)=null,--当前页面里的最后一条记录的排序字段的值 @isNe
关键字:高效的数据分页的存储过程
Create PROCEDURE pageTest --用于翻页的测试
--需要把排序字段放在第一列
(
@FirstID nvarchar(20)=null, --当前页面里的第一条记录的排序字段的值
@LastID nvarchar(20)=null, --当前页 面里的最后一条记录的排序字段的值
@isNext bit=null, --true 1 :下一页;false 0:上一页
@allCount int output, --返回总记录数
@pageSize int output, --返回一页的记录数
@CurPage int --页号(第几页)0:第一页;-1最后一页。
)

AS

if @CurPage=0
begin
--统计总记录数
select @allCount=count(ProductId) from Product_test 

set @pageSize=10
--返回第一页的数据
select top 10 
ProductId,
ProductName,
Introduction 
from Product_test order by ProductId 
end

else if @CurPage=-1

select * from 
(select top 10 ProductId,

原文转自:http://www.ltesting.net