欢迎来到小居数码网-一家分享数码知识,生活小常识的网站,希望可以帮助到您。

当前位置:生活小常识 > 数码知识 >
优质

oracle数据库性能优化方法(Oracle数据库性能调优的常见场景与方法)

数码知识

丁德优秀作者

原创内容 来源:小居数码网 时间:2024-08-11 00:32:01 阅读() 收藏:48 分享:68

导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有729个文字,大小约为4KB,预计阅读时间2分钟。

摘要:随着互联网应用的快速发展,用户的体验要求也在不断提高,软件的性能测试显得尤为重要。

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资源。所以我们在做性能调优时,要尽可能使用软解析,避免硬解析的执行。项目组在改进程序时,倡导功能相同的程序尽量保持一致性,多使用绑定变量,即将变量的数据通过一定的数据访问技术来和相应的实体捆绑在一起,使之成为一个整体。

本文主要讲了Oracle数据库中SQL解析性能调优的原理和方法,希望能给各位开发测试人员带来帮助。

上面就是小居数码小编今天给大家介绍的关于(Oracle数据库性能调优的常见场景与方法)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

94%的朋友还想知道的:

(286)个朋友认为回复得到帮助。

部分文章信息来源于以及网友投稿,转载请说明出处。

本文标题:oracle数据库性能优化方法(Oracle数据库性能调优的常见场景与方法):http://sjzlt.cn/shuma/154519.html

猜你喜欢