良许Linux教程网 干货合集 Oracle数据库性能调优具体方法

Oracle数据库性能调优具体方法

随着互联网应用的快速发展,用户的体验要求也在不断提高,软件的性能测试显得尤为重要。当项目组想要优化一个性能不合格的软件时,通常会采取性能调优的方法。性能调优是通过调节计算机硬件、操作系统、应用程序三方面之间的关系,实现整个系统的性能最大化,以满足业务需求。Oracle数据库作为应用较为广泛的数据库种类之一,开发测试人员需要掌握Oracle数据库调优的常见场景与方法。

掌握Oracle数据库性能调优方法掌握Oracle数据库性能调优方法

在Oracle性能调优任务中,测试人员能够通过nmon和Oracle自带的性能分析工具AWR等观测数据库的任务执行情况和资源使用情况。其中,AWR报告中的SQL Statistics项会从几个维度列举系统执行较慢的SQL语句,用于瓶颈SQL定位。导致SQL语句执行时间长的原因有很多种,例如SQL解析时使用硬解析(Hard Parse)方法。下面着重讲一下SQL语句的使用软硬解析的区别。

在Oracle数据库中有一块区域被称为共享池(Shared Pool),它用于存放缓冲程序数据。已执行过的每一条SQL语句在共享池中都存有解析后的内容,存储这些语句的地方叫高速缓存(Library Cache)。因为内存区域是有限的,所以不能将所有解析后的语句都一直保存,Oracle采用最近最少使用原则(LRU,Least Recently Used)来管理共享池中的对象,只保留那些使用最频繁且最近使用的语句。

每当Oracle执行一条语句时,首先会进行语法检查(Syntax Check)和语义检查(Semantic Check)。如果这些都通过,就会对SQL语句进行解析(Parse),具体做法是利用内部的哈希算法来取得该SQL的哈希值,检查高速缓存里是否存在该值。如果能成功在高速缓存中找到,就将利用已有的解析树(Parse Tree)与执行计划(Execution Plan),省略优化器的相关工作,这种解析被称为软解析(Soft Parse);反之,Oracle将执行创建解析树、生成执行计划的工作,并将其放入高速缓存以待重用,这种方式称为硬解析。

硬解析通过优化器创建最优的执行计划时,会根据数据字典中对象的统计信息计算多个执行计划的代价,从而得到一个最优解。这一步涉及大量的计算,会消耗非常多的CPU资源。所以我们在做性能调优时,要尽可能使用软解析,避免硬解析的执行。项目组在改进程序时,倡导功能相同的程序尽量保持一致性,多使用绑定变量,即将变量的数据通过一定的数据访问技术来和相应的实体捆绑在一起,使之成为一个整体。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部
关注公众号
【良许Linux】
回复1024
获取 
99G Linux
从菜鸡到大神
VIP资源课程
关注公众号
【良许Linux】
回复1024
获取 
99G Linux
从菜鸡到大神
VIP资源课程