减轻数据库服务器负载的途径与方法-湖南大学信息科学与工程学院.PDF

减轻数据库服务器负载的途径与方法-湖南大学信息科学与工程学院.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Advanced Database SYstems 主题五 : 减轻数据库服务器负载的途径 与方法 湖南大学 信息科学与工程学院 杨金民 2018.09 数据处理性能问题 • 企业数据集中存储在数据库中,海量的数据。从海量的数据中 查找和定位数据非常耗时。 • 数据集中存储后 ,所有用户都要来访问数据库 ,因此数据库服 务器的成了负载中心。 • 除了DBMS提升 自身的数据处理性能外 ,能否把一些工作分派 出去 ,能否减少一些事情? 2 1、应用程序与数据库的联接 l用户通过WEB应用程序来访问数据库。WEB应用服务 ,有很 多很多的用户访问它。因此 ,网站与数据库的交互非常频繁 ; l每来一个用户请求 ,应用程序都与数据库建立一个联接 ,然后 发送一个请求 ,得到结果 ,再挂断联接 ; l这就相当于一个人 ,因为有个事情 ,要打某人的电话 ,和他交 涉。打通一个电话须要时间。同理 ,建立一个联接也需要时间, 挂断电话 ,也是一个动作 ,也有时间开销 ; l如果事情一个接着一个 ,频繁不断地给同一个人打电话 ,每个 电话只谈一个事情 ,那么效率就低下。 就联接而言提高效率的办法 l利用批量效应。可以建立一个联接 ,并不挂断,保持联线。每 来一个用户请求 ,就可直接访问数据库。这就相当于省去了打 通电话的时间,也省去了挂断电话的时间; l如果只是偶尔有事情 ,给一个人打电话 ,保持不挂断,就不合 算 ,即浪费资源 ,又浪费话费。 l这就是偶尔与批量的质的差异。量变到质变。 l一个联接是一个极端 ,每个请求都建立一次联接又是另一个极 端。折中一点的方案 ,是建立几个联接 ,不挂断。每个联接对 应一类用户。 就联接而言提高效率的办法 l利用批量效应。可以建立一个联接 ,并不挂断,保持联线。每 来一个用户请求 ,就可直接访问数据库。这就相当于省去了打 通电话的时间,也省去了挂断电话的时间; l如果只是偶尔有事情 ,给一个人打电话 ,保持不挂断,就不合 算 ,即浪费资源 ,又浪费话费。 l这就是偶尔与批量的质的差异。量变到质变。 l一个联接是一个极端 ,每个请求都建立一次联接又是另一个极 端。折中一点的方案 ,是建立几个联接 ,不挂断。每个联接对 应一类用户。例如 ,学生类 ,教师类 ,教管类。兼顾数据安全。 2、批量处理 其实 ,数据库访问,就如同一个庞然大物 ,启动完成一次请求 , 要时间。如果响应用户一次点击的程序 ,如果含有上十个的串 行SQL操作 ,那么带来的大时延 ,用户难以接受。JDBC提供了 Batch处理 ; 另外 ,数据库管理系统基本都提供了bulk import (load), bulk export; JDBC提供的批量处理功能 PreparedStatement pStmt conn.prepareStatement(“INSERT INTO teacher VALUES(?,?,?)”; pStmt.setString(1,2004213); pStmt.setString(2,杨金民); pStmt.setInt(3,9800); pStmt.addBatch( ); pStmt.setString(1,2001183); pStmt.setString(2,戴牡红); pStmt.setInt(3,9600); pStmt.addBatch( ); pStmt.executeBatch( ); 批量带条件的更新操作SQL UPDATE project SET budge

文档评论(0)

fengruiling + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档