zoukankan
html css js c++ java
一个高效的数据分页的存储过程 可以轻松应付百万数据
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,
ProductName,
Introduction
from
Product_test
order
by
ProductId
desc
)
as
aa
order
by
ProductId
else
begin
if
@isNext
=
1
--
翻到下一页
select
top
10
ProductId,
ProductName,
Introduction
from
Product_test
where
ProductId
>
@LastID
order
by
ProductId
else
--
翻到上一页
select
*
from
(
select
top
10
ProductId,
ProductName,
Introduction
from
Product_test
where
ProductId
<
@FirstID
order
by
ProductId
desc
)
as
bb
order
by
ProductId
end
查看全文
相关阅读:
堆排序算法
二叉树的创建、遍历(递归和非递归实现)、交换左右子数、求高度(c++实现)
hdoj1010 奇偶剪枝+DFS
常见排序算法c++总结
B
C
D
E
G
F
原文地址:https://www.cnblogs.com/zzh/p/314035.html
最新文章
使用JavaScript和React编写原生移动应用
面向工资编程,每年加薪 30% 的秘诀
软件开发流程
啥叫K8s?啥是k8s?
HTTP 响应头信息
HTTP 消息结构
mysql中 REPLACE INTO 和 INSERT INTO 的区别
奇偶数分离
Servlet的生命周期
UNION ALL 和 UNION 的区别
热门文章
MariaDB存储引擎
try、catch、finally 块的关系
tar命令
Linux的sort命令
最短路径Dijkstra算法(邻接矩阵)
ubuntu下安装.deb包的安装方法
基数排序(桶排序)--静态链表实现
关键路径(拓扑排序)
hdoj1003 DP
hdoj1014 互质
Copyright © 2011-2022 走看看