千家信息网

MSSQLServer中怎么实现查询分页

发表于:2024-10-19 作者:千家信息网编辑
千家信息网最后更新 2024年10月19日,本篇文章给大家分享的是有关MSSQLServer中怎么实现查询分页,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。select top 1
千家信息网最后更新 2024年10月19日MSSQLServer中怎么实现查询分页

本篇文章给大家分享的是有关MSSQLServer中怎么实现查询分页,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

select top 10 * from yc_module where (block_id not in (select top 0 block_id from yc_module order by block_id)) order by block_id;

分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECT TOP 10 *
FROM TestTable
WHERE (ID NOT IN
(SELECT TOP 20 id
FROM TestTable
ORDER BY id))
ORDER BY ID

SELECT TOP 页大小 *
FROM TestTable
WHERE (ID NOT IN
(SELECT TOP 页大小*页数 id
FROM 表
ORDER BY id))
ORDER BY ID

-------------------------------------

分页方案二:(利用ID大于多少和SELECT TOP分页)
语句形式:
SELECT TOP 10 *
FROM TestTable
WHERE (ID >
(SELECT MAX(id)
FROM (SELECT TOP 20 id
FROM TestTable
ORDER BY id) AS T))
ORDER BY ID

SELECT TOP 页大小 *
FROM TestTable
WHERE (ID >
(SELECT MAX(id)
FROM (SELECT TOP 页大小*页数 id
FROM 表
ORDER BY id) AS T))
ORDER BY ID

-------------------------------------

分页方案三:(利用SQL的游标存储过程分页)
create procedure XiaoZhengGe
@sqlstr nvarchar(4000), --查询字符串
@currentpage int, --第N页
@pagesize int --每页行数
as
set nocount on
declare @P1 int, --P1是游标的id
@rowcount int
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
select ceiling(1.0*@rowcount/@pagesize) as 总页数--,@rowcount as 总行数,@currentpage as 当前页
set @currentpage=(@currentpage-1)*@pagesize+1
exec sp_cursorfetch @P1,16,@currentpage,@pagesize
exec sp_cursorclose @P1
set nocount off

其它的方案:如果没有主键,可以用临时表,也可以用方案三做,但是效率会低。
建议优化的时候,加上主键和索引,查询效率会提高。

通过SQL 查询分析器,显示比较:我的结论是:
分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高,需要拼接SQL语句
分页方案一:(利用Not In和SELECT TOP分页) 效率次之,需要拼接SQL语句
分页方案三:(利用SQL的游标存储过程分页) 效率最差,但是最为通用

以上就是MSSQLServer中怎么实现查询分页,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

方案 查询 效率 大小 语句 游标 页数 形式 更多 知识 篇文章 过程 存储 实用 最差 最高 分析器 字符 字符串 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网页游戏网络安全错误错误代码 威纶触摸屏建立数据库 怎么查看服务器端口设置 网络安全审计考证软件 服务器一个小时丢一个包 如何让网络安全可控 为什么战地无法连接服务器 软件开发行业资质证明材料 服务器不显示驱动怎么办 软件开发企业怎样做预算 数据库完整性规则 常用记录日志的数据库 青少年网络安全教育诗歌 服务器和设备不在一个网段怎么通 福建智能化软件开发模型设计 锦州精益管理软件开发 网络安全宣传误区 梦晨的宝可梦手机服务器怎么进 什么数据库可以查看往期期刊 原神玩小号玩什么服务器 怎么链接数据库 晶体图片数据库网站 加快软件开发过程 软件开发表皮包装 服务器怎么查看目录 如何申请企业密信的服务器 苏州智能服务器生产商 设计模式在软件开发中应用 国企开展网络安全周总结 网络安全是谁的主要组成部分
0