没有合适的资源?快使用搜索试试~ 我知道了~
最近在做一个几百万条数据的分页查询,研究了各种方案,在本机上用项目的实际数据库做测试,测试过程 is very 痛苦,不堪回首ing。现在废话不多说,直接上结果,相信这也是大多数搜索答案的人最愿意看的方式。 以下是存储过程的代码: 代码如下:CREATE PROCEDURE [dbo].[P_GridViewPager] ( @recordTotal INT OUTPUT, –输出记录总数 @viewName VARCHAR(800), –表名 @fieldName VARCHAR(800) = ‘*’, –
资源详情
资源评论
资源推荐
mssql 高效的分页存储过程分享高效的分页存储过程分享
最近在做一个几百万条数据的分页查询,研究了各种方案,在本机上用项目的实际数据库做测试,测试过程 is very 痛苦,不
堪回首ing。现在废话不多说,直接上结果,相信这也是大多数搜索答案的人最愿意看的方式。
以下是存储过程的代码:
代码如下:
CREATE PROCEDURE [dbo].[P_GridViewPager] (
@recordTotal INT OUTPUT, –输出记录总数
@viewName VARCHAR(800), –表名
@fieldName VARCHAR(800) = ‘*’, –查询字段
@keyName VARCHAR(200) = ‘Id’, –索引字段
@pageSize INT = 20, –每页记录数
@pageNo INT =1, –当前页
@orderString VARCHAR(200), –排序条件
@whereString VARCHAR(800) = ‘1=1’ –WHERE条件
)
AS
BEGIN
DECLARE @beginRow INT
DECLARE @endRow INT
DECLARE @tempLimit VARCHAR(200)
DECLARE @tempCount NVARCHAR(1000)
DECLARE @tempMain VARCHAR(1000)
–declare @timediff datetime
set nocount on
–select @timediff=getdate() –记录时间
SET @beginRow = (@pageNo – 1) * @pageSize + 1
SET @endRow = @pageNo * @pageSize
SET @tempLimit = ‘rows BETWEEN ‘ + CAST(@beginRow AS VARCHAR) +’ AND ‘+CAST(@endRow AS VARCHAR)
–输出参数为总记录数
SET @tempCount = ‘SELECT @recordTotal = COUNT(*) FROM (SELECT ‘+@keyName+’ FROM ‘+@viewName+’
WHERE ‘+@whereString+’) AS my_temp’
EXECUTE sp_executesql @tempCount,N’@recordTotal INT OUTPUT’,@recordTotal OUTPUT
–主查询返回结果集
SET @tempMain = ‘SELECT * FROM (SELECT ROW_NUMBER() OVER (order by ‘+@orderString+’) AS rows
,’+@fieldName+’ FROM ‘+@viewName+’ WHERE ‘+@whereString+’) AS main_temp WHERE ‘+@tempLimit
–PRINT @tempMain
EXECUTE (@tempMain)
–select datediff(ms,@timediff,getdate()) as 耗时
set nocount off
END
GO
您可能感兴趣的文章您可能感兴趣的文章:五种SQL Server分页存储过程的方法及性能比较SQL Server 分页查询通用存储过程(只做分页查询
用)sqlserver2005利用临时表和@@RowCount提高分页查询存储过程性能示例分享深入sql server 2005 万能分页存储过程的
详解基于Sql Server通用分页存储过程的解决方法SQL Server 2005通用分页存储过程及多表联接应用MSSQL MySQL 数据库
分页(存储过程)三种SQL分页查询的存储过程代码SQL通用存储过程分页,支持多表联合SQL分页查询存储过程代码分享
weixin_38681736
- 粉丝: 3
- 资源: 887
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ZEND解密dezender12
- sony 索尼IMX334摄像头模组电路板AD版硬件PCB图(6层板).zip
- 基于flask和echarts融合交易策略的bitfinex可视化微服务.zip
- 包含了wvp-assist.tar wvp-talk.tar zlmediakit.tar .
- 3r4efgh53wgrf43tw
- 2024新版Java基础从入门到精通全套视频+资料下载
- Spring AI大模型视频教程+ChatGPT视频教程+OpenAI大模型视频教程(资料+视频教程)
- ABB工业机器人教程PDF版本
- 123321123323211
- 三相桥式全桥整流电路MATALB Simulink仿真文件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0