ORACLE数据库优化理论的探讨.docVIP

  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 SQL   中图分类号:TP2 文献标识码:A 文章编号:1672-3791(2012)04(b)-0032-01   数据库作为系统的核心,其设计和应用对系统执行的效率和稳定性具有重大影响。因此在软件系统开发中,数据库设计应遵循必要的数据库范式理论,以减少冗余、保证数据的完整性与正确性。只有在合适的数据库产品上设计出合理的数据库模型,才能降低整个系统的编程和维护难度,提高系统的实际运行效率。本文主要从以下角度分析数据库性能优化技术。   1 ORACLE数据库的系统性能评估参数   DBA应该根据信息系统的类型注意考虑相关的数据库参数。   1.1 在线事务处理信息系统(OLTP)   系统有频繁的Insert、Update操作,需要确保数据库的并发性、可靠性和最终用户的速度,考虑以下参数:数据库回滚段是否足够?建立索引、聚集、散列的必要性?系统全局区(SGA)大小是否合适?SQL语句是否高效?   1.2 数据仓库系统(Data Warehousing)   主要任务是从ORACLE的大量数据中进行查询,总结数据之间的相关规律。涉及以下参数:是否采用B*-索引或者bitmap索引?是否采用并行SQL查询?是否采用PL/SQL函数编写存储过程?是否需要建立并行数据库提高数据库的查询效率?   2 ORACLE数据库优化、参数调整   2.1 设计数据结构和应用程序需要注意考虑是否应用ORACLE数据库的分区功能;哪些频繁访问的数据库表应该建立索引;根据所需要的数据库资源决定应用程序采用Client/Server还是Browser/Web/Database体系结构   2.2 应用程序最终将通过SQL语句执行,SQL语句的执行效率是ORACLE数据库性能的决定因素   同一功能可以通过不同的SQL语句来实现,但是不同的SQL语句执行效率不一样。SQL语句的调整需要注意以下几点。   (1)尽量使用索引,创建索引可以提高系统的性能。   第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。   第二,加快数据的检索速度。   第三,加速表和表之间的连接,有利于实现数据的参考完整性。   第四,在使用分组和排序子句进行数据检索时,减少查询中分组和排序的时间。   第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。   (2)选择联合查询的联合次序。   程序员首先需要选择要查询的主表,因为主表需要对整个表数据进行扫描,所以主表应该数据量最小。   (3)子查询中尽量用where(NOT)exists代替IN或NOT IN语句。   (4)尽量将视图查询转换为对数据表的直接查询以下几点。   (5)SHARED_POOL_RESERVED_SIZE参数,该参数在SGA共享池中开辟一个连续的内存空间,方便存放大的SQL程序包。   (6)DBMS_SHARED_POOL程序能够将某些频繁使用的存储过程“锁”在SQL区中,方便随时利用,大大提高最终用户的响应时间。   3 服务器内存的调整   在信息系统运行时可以对内存进行优化配置,DBA根据数据库运行状况对数据库系统全局区(SGA区)的数据缓冲区、日志缓冲区和共享池的大小进行调整;包括调整程序全局区(PGA区)的大小。值得注意的是,SGA区不能太大,否则会占用操作系统使用的内存,造成虚拟内存的页面交换,影响系统运行。SGA的调整包括以下几点。   (1)共享池:包括共享SQL区和数据字典缓冲区,前者主要用于存放用户SQL命令,后者主要用于存放数据库运行的动态信息。DBA通过执行语句:select (sum(pins - reloads))/sum(pins)Lib Cache from v$librarycache;查询共享SQL区的使用率。如果使用率90%,应该适当增加共享池的大小。通过执行语句:select(sum(gets- getmisses-usage-fixed))/sum(gets)Row Cachefrom v$rowcache;查询数据字典缓冲区的使用率,同样,如果结果90%,应该适当增加共享池的大小。   (2)数据缓冲区。通过语句:SELECT name,value FROM v$sysstat WHERE name IN(db block gets,consistent gets,physical reads); 查询数据缓冲区的使用情况。

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档