在.NET中虽然GridView,DataGrid,等控件都提供了分页功能,但当数据表中的数据容量过大时使用此种方式分页显然不适宜,过多的数据会使页面变得十分庞大,导致性能的下降,为此我们可以使用存储过程在SQL Server数据库中实现分页,每次返回一定行数的数据,不至于影响到页面因数据过大而变得庞大,实现思路如下
数据表里面是否有主键和索引对性能的影响相当大
/*第一个参数是每页条数,第二个参数是目标页码*/
数据表里面是否有主键和索引对性能的影响相当大
/*第一个参数是每页条数,第二个参数是目标页码*/
CREATE proc sp_fixpage @pagesize int,@destpage int as
set nocount on
declare @id int
declare @startid int
select @startid = (@destpage - 1)*@pagesize
set rowcount @startid
select @id = id from t_member
set rowcount @pagesize
set nocount off
select * from t_member where id > @id order by id
GO