我爱Aspx >> C#.Net >> sql存储过程分页算法研究1.“俄罗斯存储过程”的改良版
CREATE procedure pagination1
(@pagesize int, --页面大小,如每页存储20条记录
@pageindex int --当前页码)
as set nocount on
begin
declare @indextable table(id int identity(1,1),nid int) --定义表变量
declare @PageLowerBound int --定义此页的底码
declare @PageUpperBound int --定义此页的顶码
set @PageLowerBound=(@pageindex-1)*@pagesize
set @PageUpperBound=@PageLowerBound+@pagesize
set rowcount @PageUpperBound
insert into @indextable(nid) select gid from TGongwen where fariqi >dateadd(day,-365,getdate()) order by fariqi desc
select O.gid,O.mid,O.title,O.fadanwei,O.fariqi from TGongwen O,@indextable t where O.gid=t.nid
and t.id>@PageLowerBound and t.id<=@PageUpperBound order by t.id
end
set nocount off
文章中的点评:
以上存储过程运用了SQL SERVER的最新技术――表变量。应该说这个存储过程也是一个非常优秀的分页存储过程。当然,在这个过程中,您也可以把其中的表变量写成临时表:CREATE TABLE #Temp。但很明显,在SQL SERVER中,用临时表是没有用表变量快的。所以笔者刚开始使用这个存储过程时,感觉非常的不错,速度也比原来的ADO的好。但后来,我又发现了比此方法更好的方法。
Ҷƪл˵?
解决SQL Server虚拟内存不足情况[07-30]
打造SQL Server2000的安全策略[07-30]
SQL Server 2005对海量数据处理[07-30]
sql server 2008 对 t-sql 语言的..[07-30]
win2K3安装sql2000提示“安装程序..[07-30]
Win2003系统安装SQL Sever2000后..[07-30]
sql分段处理删除大量数据[07-30]
精讲sql server数据库备份多种方..[07-30]
linux下mysql的一点基本用法[07-30]
SQL Server的怪辟:异常与孤立事..[07-30]
用Photoshop通道打造“非主流”淡..[07-30]
Photoshop处理唯美梦幻抽线特效[07-30]
Photoshop绘鲜美葡萄 表现光影效..[07-30]
Windows Vista安装机密 避免联机..[07-30]
用Sysprep自动实现Windows XP成功..[07-30]
Excel表格中关于序号处理的五则技..[07-30]
招行 工行 建行 兴业 恒生网银安..[07-30]
宽带环境下的网络安全[07-30]
解决SQL Server虚拟内存不足情况[07-30]
Photoshop巧妙处理突出照片局部特..[07-30]