基于Oracle数据库检索优化与应用研究.docVIP

基于Oracle数据库检索优化与应用研究.doc

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

基于Oracle数据库检索优化与应用研究   [摘 要] Oracle数据库的性能调整相当重要,但难度也较大。如何提高Oracle数据库的检索效率,是数据库使用过程中的一项重要任务。本文基于此,对Oracle数据库的检索优化与应用进行了初步研究,从而更好地实现了数据库的调优。   [关键词] 数据库 检索优化 oracle      数据库管理员在数据库建立时,根据应用的需要合理设计分配表空间以及存储参数、内存使用初始化参数,对以后的数据库性能有很大的益处。只有认真分析Oracle运行过程当中出现的各种性能问题,才能保证Oracle数据库高效可靠地运行。因为数据库的性能调整是一个系统工程,涉及的方面很多,不能仅仅根据一个时间点的情况就断定数据库运行性能的好与坏。如何有效地进行调整,数据库管理员需要经过反反复复的过程。这些都需要在大量的实践工作中不断地积累经验。据统计,90%的性能问题是由于程序员或用户使用了不恰当的检索语句造成的,而不良的SQL语句往往来自于不恰当的索引设计、不充分的条件和不可优化的where子句。在进行恰当的优化后,运行速度就会明显的提高。因此,如何设计高效合理的检索语句就显得非常重要。本文以Oracle9i数据库应用实例为基础,结合数据库理论,介绍检索优化技术在现实系统中的运用。      一、在系统设计开发阶段调整数据库      为了充分利用Oracle数据库的功能特性,在设计信息系统时,数据库设计人员需要根据业务情况(如访问量或客户端数量)和现有资源状况(如数据库服务器的配置)考虑系统结构和数据库的逻辑结构的设计:   1、调整应用程序结构设计。   即应用程序采用的是传统的C/S两层体系结构,还是B/W/D三层体系结构。不同的应用程序体系结构要求的数据库资源是不同的。   2、恰当使用分区、索引及存档功能。   如果某种业务的数据量增长非常快,可以考虑存放该业务的数据库表是否使用Oracle数据库的分区功能;对于经常访问的数据库表是否需要建立索引;对于经常访问但是当业务流程完成后不再变动的数据可采用放入历史档案的方法来实现应用系统中访问尽可能少的数据量。   3、恰当编写访问数据的SQL语句。   良好的SQL语句可以被数据库重复使用而减少分析时间;恰当的使用索引可使访问的数据块大大减少从而减少响应时间。应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率决定了Oracle数据库的性能。Oracle公司推荐使用Oracle语句优化器(Oracle Optimizer)和行锁管理器(row-level manager)来调整优化SQL语句。   4、调整硬盘I/O   这一步是在信息系统开发之前完成的。数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上,做到硬盘之间I/O负载均衡。在磁盘比较富裕的情况下还应该遵循以下原则:   将表和索引分开;   创造用户表空间,与系统表空间(system)分开磁盘;   创建表和索引时指定不同的表空间;   创建回滚段专用的表空间,防止空间竞争影响事务的完成;   创建临时表空间用于排序操作,尽可能的防止数据库碎片存在于多个表空间中。      二、在数据库运行阶段调整数据库      数据库运行阶段调整数据库包括两个方面:操作系统级的调整;数据库级的调整。   1、操作系统级的调整   实施操作系统级调整的主要目的是减少内存交换,减少分页,使SGA(System Globle Area)可留驻内存。   (1)减少内存交换   内存交换(swapping)可能会造成很大的内存开销,应将它最小化。运行在Solaris Unix操作系统上的Oracle数据库,可利用vmstat或sar命令来检查交换,查看到系统级内存和硬盘I/O的使用情况,调整unix数据缓冲池的大小、每个进程所能使用的内存大小等参数。   (2)控制分页   少量的内存分页不会太显著地影响系统的性能,因为应用程序不必全部放在内存中。但是分页过多将会造成系统性能下降。为了检测过多的分页,可在快速响应或空闲期间运行测量,并与响应迟缓时的测量进行比较。可通过以下办法来解决:   使用vmstat或sar-p监控分页;   安装更多的内存;   将一些工作移到另一系统中;   配置系统核心使用更少的内存;   保持SGA在单个共享内存段中。   (3)使SGA(System Globle Area)留驻内存   SGA是对数据库数据进行快速访问的一个系统全局区,若SGA本身需要频繁地进行释放、分配,则不可能达到快速访问数据的目的,因此,要求SGA驻留内存。这时,我们可以重新配置UNIX核心,调整

文档评论(0)

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

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

1亿VIP精品文档

相关文档