基于健康体检系统的ORACLE数据库SQL应用优化.pdfVIP

基于健康体检系统的ORACLE数据库SQL应用优化.pdf

  1. 1、本文档共6页,可阅读全部内容。
  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文档。上传文档
查看更多
基于健康体检系统的ORACLE数据库SQL应用优化.pdf

基于健康体检系统的ORACLE 数据库SQL 应用优化 包颖 大连理工大学电信学院计算机系,辽宁大连(116023 ) E-mail :mailtoy@163.com 摘 要:本文简略介绍了一些Oracle 数据库SQL 应用性能优化策略。这些优化策略是在基 于一种健康体检系统的具体实践基础上,探讨了Oracle 中SQL 应用过程中影响其性能的一 些因素以及相应的解决方法,并通过实际实验对一些优化方法对执行性能进行了测试,通过 数据结果的对比体现出性能的差距。 关键词:Oracle 数据库;SQL; 健康管理系统;查询应用;优化 中图分类号: TP311.13 1. 引言 在数据库应用系统中,其性能受多方面的限制,如操作系统、数据库管理系统以及前端 开发工具等都有很大的影响。而对于基于WEB 的应用,最终用户和顾客合二为一,是同一 个对象。性能管理就该从最终用户需求出发,目标应该是保证关键事务的性能需求以简单的 消耗时间来得到定义。而从大多数数据库应用系统的实例来看,相对于数据库其他操作,查 询操作占的比重最大,是最为重要的一部分。查询优化也就有着非常重要的地位。高效的查 询能极大的提高系统的性能。科学合理地构造查询系统,是成功开发数据库应用系统非常重 要的环节。为了优化数据库的性能,除了在数据库的物理设计,关系规范化等方面进行改进外, 还有一个简单有效的方法就是提高查询响应速度。本文结合数据库理论,并以健康体检信息 管理系统为例,就查询优化必要性及如何进行数据库查询优化的策略进行探讨。 2. 查询优化的必要性 本健康体检系统为B/S 结构,采用ORACLE 数据库系统作为后台数据库。作为一个四 层应用系统,其端到端的事务示意图[2]如下: - 1 - 用户从 PC 应用屏幕上 提交业务事务 中间件将业务事务转换 为SQL 数据库请求 数据库服务器将SQL 请 求转换为物理数据请求 存储陈列定位并返回物 理磁盘数据块 图 1-1 在一个四层应用中的端到端事务 对于用户事务,在结果被返回客户端之前,在中间件层、数据库层和物理存储器之间通 常需要多个回合的信息交换,同时依赖于各层之间的网络。由于用户终端操作频繁,数据量 较大,且查询多为跨表查询,在很多情况下查询过程是非常复杂的。因此为了获取更好的响 应时间与系统性能,查询性能优化的作用就越显重要。为了在开发阶段能成功的进行 SQL 优化,需要采用“随时测量所有信息” 的方法。其目标是使每个语句的执行时间最短。如果确 保每个SQL 语句被开发成具有最小的执行时间,那么用所有这些SQL 组合成的任何系统就 都将运行良好[1]。 3. 性能优化的策略 3.1 统计量和事件的测量 在测量性能之前优化SQL 语句是没有意义的。为了简易化性能的测量,ORACLE 提供 了可以通过SQL 视图得到的性能量度指标,这些量度指标是以计数器(即统计量)和等待 时间(即事件)的形式存在的。我们可以通过V$SYSSTAT 视图查看全数据库范围的统计量, V$SESSTAT 视图查看单个会话的统计量等。而等待时间则出现在 V$SYSTEM_EVENT 和 V$SESSION_EVENT 中。若要显示事件时间,应在 init.ora 文件里设置参数 TIMED_STATISTICS=TRUE 。 而在众多的统计量中,我们需要

文档评论(0)

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

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

1亿VIP精品文档

相关文档