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

本文介绍了几种SQL Server中的分页算法,包括改良版的‘俄罗斯存储过程’、使用not in的方法以及max方法。作者对这些算法进行了分析,指出not in无法使用索引导致效率较低,而max方法更高效但需要理解其工作原理。最后提出了‘定位法’和‘颠颠倒倒法’两种高效翻页策略,前者需要排序字段不重复,后者则必须依赖主键。
最低0.47元/天 解锁文章
839

被折叠的 条评论
为什么被折叠?



