Sqlserver2005 with as 实现分页以提高性能

1。在sqlserver中建一个存储过程,代码如下:

 


create proc GetRows
@begin as int,
@end as int
as
begin
   
with result as
   (
     
select row_number() over(order by book_id descas rowindex,book_name,price from book
   )
 
select * from result where rowindex between @begin and @end
end

通过with as 以提高性能,配合AspnetPager控件来实现分页,适合sql2005。

在sql2000中可以这样写

 


create proc GetRows2
@begin as int,
@end as int
as
begin
   
declare @table as table (rowindex  int identity(1,1),bookName  varchar(50),price  money)
   
insert into @table select book_name,price from book order by book_id
   
select * from @table where rowindex between @begin and @end 
end
posted @ 2009-07-26 14:12  awp110  阅读(648)  评论(0编辑  收藏  举报