应用存储过程实现数据分页①.PDFVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
应用存储过程实现数据分页①

计 算 机 系 统 应 用 2012 年 第 21 卷 第 12 期 186 经验交流 Experiences Exchange 应用存储过程实现数据分页① 黄龙军 (绍兴文理学院 计算机系, 绍兴 312000) 摘 要: 讨论了在数据库服务器端应用存储过程的方法来实现海量数据的分页, 重点讨论分页存储过程的设计 思想、实现方法以及在通过 ADO.NET 命令对象调用存储过程的方法. 通过该方法, 减少了海量数据查询时的网 络流量, 提高了系统的效率. 关键词: 海量数据; 分页; 存储过程; ADO.NET; SQL Implementation of Data Paging with Stored Procedure HUANG Long-Jun (Department of Computer Science, Shaoxing University, Shaoxing 312000, China) Abstract: This paper describes the paging of massive data with stored procedures in the database server, focuses on the design ideas and implementation methods of stored procedures for data paging, and their calls by ADO.NET command object. The method greatly reduces the network traffic when the massive data queries, and improves the efficiency of the system. Key words: massive data; paging; stored procedure; ADO.NET; SQL 1 引言 Web 系统经常会遇到大量数据的分页显示问题, 传统的分页技术在提取数据时用户等待时间较长[1]. 分页技术是指Web 网站针对用户的大批量数据进行查 询请求时, 将用户所需数据分批取出, 传送至客户端 浏览器的技术[1]. 分页的目的可减少网络的流量和用 户端的负荷, 让用户有更好的使用体会. 文献 1 从 Ajax 技术的角度, 讨论 Ajax 技术采用异步通信方式, 只更新所需数据的方法来提高系统性能, 但采用的编 程方法是直接在功能代码中嵌入 SQL, 存在安全性不 高、网络流量较大、查询效率不够高等方面的问题. Visual Studio 2010 中的 GridView控件实现分页效果的 方法很简单, 选择 “启用分页”并设置相应属性即可. 但这种实现方法在每次查询当前页的数据时都要到服 务器端取得所有数据, 然后再显示那一页的数据, 存 在网络流量大的问题, 特别是在海量数据的访问中, 查询速度慢, 系统效率低. 本文采用直接在数据库服 ① 收稿时间:2012-05-14;收到修改稿时间:2012-06-10 务器端使用存储过程的方法来实现分页效果, 客户端 只要传递参储过程名及少量参数即可在服务器端获取 其所需的数据, 能有效的提高系统的查询性能. 2 相关知识 存储过程是可以一次执行的 SQL 代码块, 作为一 个单元存储在服务器端[2], 并在服务器端执行. 存储 过程具有模块化程序设计、提高执行效率、减少网络 流量、提供安全机制等优点[3], 这正是我们采用存储过 程来实现数据分页的原因. 下面我们对在存储过程中 使用的 SQL 的相关知识[3]进行说明, 以便读者能更好 地理解后面讨论的存储过程. 使用 SELECT…INTO 表名可以自动创建一个 新表, 并将查询结果行插入到该表中. 使用 INTO子句 生成(临时)结果表, 可以达到缓存数据的目的. ROW_NUMBER( )函数返回结果集分区内行的序 列号(bigint 类型), 每个分区的第一行从 1 开始. 2012 年 第 21 卷 第 12 期 计 算 机 系 统 应 用 Experiences Exchange 经验交流 187 RANK( )、DENSE_RANK ( )、NTILE(行数)等函数 也可以达到类似的效果. SET NOCOUNT 设置为 ON, 可以阻止在结果集 中返回受 Tr

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档