《性能优化学习心得.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  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性能优化学习心得 一,优化总的原则 查看系统的使用情况 查看SGA分配情况,结合系统具体情况进行分析。 表的设计分析 SQL语句分析 实施要则 查看系统的使用情况,CPU占用,内存,I/O读取等 Oracle10G提供的Oracle Enterprise Manager图形化工具中的ADDM 和 SQL Tuning Advisor等可以方便的查看系统状况 OPS上负载均衡,不同查询用不同Instance 提供脚本查看SGA使用情况 分析SQL执行情况(trace及其他工具) 实施细节 外部调整:我们应该记住Oracle并不是单独运行的。因此我们将查看一下通过调整Oracle服务器以得到高的性能。 Row re-sequencing以减少磁盘I/O:我们应该懂得Oracle调优最重要的目标是减少I/O。 Oracle SQL调整。Oracle SQL调整是Oracle调整中最重要的领域之一,只要通过一些简单的SQL调优规则就可以大幅度地提升SQL语句的性能,这是一点都不奇怪的。 调整Oracle排序:排序对于Oracle性能也是有很大影响的。 调整Oracle的竞争:表和索引的参数设置对于UPDATE和INSERT的性能有很大的影响。 二,调优分类: 对Oracle数据库进行性能调整时,应当按照一定的顺序进行,因为系统在前面步骤中进行的调整可以避免后面的一些不必要调整或者代价很大的调整。一般来说可以从两个阶段入手: 1、设计阶段:对其逻辑结构和物理结构进行优化设计,使之在满足需求条件的情况下,系统性能达到最佳,系统开销达到最小; 2、数据库运行阶段:采取操作系统级、数据库级的一些优化措施来使系统性能最佳; ㈠设计阶段: A,数据库设计优化 较多修改较少查询的数据 和 较多查询较少修改的数据 分别对待。 a,结构优化 1,根据应用程序进行数据库设计。 即应用程序采用的是传统的C/S两层体系结构,还是B/W/D三层体系结构。不同的应用程序体系结构要求的数据库资源是不同的。 2,遵循3大范式规范化数据结构,减少不必要的冗余。 3,反规范设计,增加必要冗余,提高查询速度。 4,针对变化较少的数据,合理创建临时表和视图,需注意对临时表和视图的及时同步更新 5,在服务器端使用过程和函数,减少网络数据传输 b,I/O优化 使用分区,对查询条件字段(主外键)建立索引,依据Rowid物理地址查询,减少I/O的消耗。应避免可能参与计算的字段 建立合适的索引。 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的;合理的索引设计要建立在对各种查询的分析和预测上。一般来说:有大量重复值、且经常有范围查询(between, , ,=, =)和order by、group by发生的列,可考虑建立群集索引;.经常同时存取多列,且每列都含有重复值可考虑建立组合索引;.组合索引要尽量使关键查询形成索引覆盖,其前导列一定是使用最频繁的列。. ALTER INDEX INDEXNAME REBUILD TABLESPACENAME b,避免在索引列上使用计算,判断或函数处理 3,使用聚簇(对列的选择原则同索引)。 4,使用存档功能。 5,数据缓冲,快照,视图,远程调用等,减少I/O和网络消耗 6,I/O调整   这一步是在信息系统开发之前完成的。数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上,做到硬盘之间I/O负载均衡。在磁盘比较富裕的情况下还应该遵循以下原则:    将表和索引分开;    创造用户表空间,与系统表空间(system)分开磁盘;    创建表和索引时指定不同的表空间;    创建回滚段专用的表空间,防止空间竞争影响事务的完成;    创建临时表空间用于排序操作,尽可能的防止数据库碎片存在于多个表空间中。 7,确定数据块大小和存储参数。   由于数据库的块大小在数据库创建以后就不能在修改(除非重建数据库),因此为了减少数据链接和行迁移,又提高磁盘空间的利用率,在设计数据库时要确定合适的数据块大小和存储参数。通常我们是根据样例数据确定数据块大小,而根据业务现状和未来发展趋势确定存储参数。 ㈡运行阶段: B,系统优化 许多新手都错误的认为应该首先调整Oracle数据库,而不是先确认外部资源是否足够。实际上,如果外部环境出现瓶颈,再多的Oracle调整都是没有帮助的。 1,多处理器系统调整优化,启用并行查询。 2,减少内存交换,减少分页,使SGA(System Globle Area)可留驻内存。 3,优化系统I/O环境。 4,优化网络环境 C,数据库连接与网络优化 1,使用直接OLE DB连接。 2,使用Connection Pool(数据连接池)机制 3,优化程序设计,减少网络传输量

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档