位置: 编程技术 - 正文
正常情况下,SQL Server服务器上会对使用频率大的Table建立合适的索引 这样能大幅度的提高数据库本身的数据检索速度,建立索引的方法就不细说了 如果需要返回大量数据,从几百行到几万行,甚至几十万行数据 这时会发现响应速度越来越慢,甚至发生响应超时的错误 为了解决这种大数据量请求的问题,就不得不使用分页模式了 在这方面,JDBC就强悍得多,它可以将指定的行数和SQL请求一并发送给SQL Server,这样只返回分页后的数据,JDBC的原理还不清楚,但在实际使用中,速度还是非常快的 如果没办法使用JDBC,最常用的方法就是存储过程了! 我在写这个分页存储之前,参考了网上的大量相关文章,可以通过关键字:SQL Server 分页 进行搜索 他们主要都是利用SQL中的Top方法,并且对所检索的数据结构要求有标识列,如果没有标识列,或者是联合主键,那么就会非常麻烦了。而且对应用里原有的SQL检索部分需要修改的地方较多,工作量较大。 因此,我在写这个存储之前就要求一定要对原有的SQL脚本最大程度的兼容 经过一个下午的时间,和我一个同事(绝对是高手)的共同努力下,摸索出了以下的思路: 1、确定存储的输入参数: 1)SQL脚本,该参数接收完整的、正确的SQL检索文本,可将原应用中写好的SQL脚本直接传入 2)每页的数据容量,就是一页有多少条数据 3)当前页码 2、确定分页机制: 1)执行传入的SQL脚本,并将结果生成临时表 2)修改临时表的结构,增加标识列字段 3)根据标识列字段,计算出指定页码内的记录范围,并返回 4)返回总数据条数,用于客户端进行分页显示 根据以上的思路,编写出以下通用的分页存储过程: [/code]
推荐整理分享SQL Server的通用分页存储过程 未使用游标,速度更快!,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
mssql数据库中的表、字段sql语句 mssqlupdatefrom语法updateaseta.columnname=b.columnnamefroma,bwhereb.id=.系统表sysobjects在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)
sqlserver对字段出现NULL值的处理 -判断某些字段是否为空--caseselectcasewhen'字段名'isnullthen'N'elseconvert(varchar(),'字段名')endas'NewName'selectcasewhennullisnullthen'N'elseconvert(varchar(),null)endas'NewName
一个常用的报表统计SQL语句 一般都给定按日期区间统计某一值,每一个列就是统计时的分类。如下图:下面给出上图的例子的sql语句写法:(注:此处是按日期字段统计)select日期,
标签: SQL Server的通用分页存储过程 未使用游标,速度更快!
本文链接地址:https://www.jiuchutong.com/biancheng/349196.html 转载请保留说明!友情链接: 武汉网站建设