偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

十分鐘初步掌握Oracle數(shù)據(jù)庫(kù)性能調(diào)優(yōu)的常見(jiàn)場(chǎng)景與方法

數(shù)據(jù)庫(kù) Oracle
隨著互聯(lián)網(wǎng)應(yīng)用的快速發(fā)展,用戶的體驗(yàn)要求也在不斷提高,軟件的性能測(cè)試顯得尤為重要。

當(dāng)項(xiàng)目組想要優(yōu)化一個(gè)性能不合格的軟件時(shí),通常會(huì)采取性能調(diào)優(yōu)的方法。性能調(diào)優(yōu)是通過(guò)調(diào)節(jié)計(jì)算機(jī)硬件、操作系統(tǒng)、應(yīng)用程序三方面之間的關(guān)系,實(shí)現(xiàn)整個(gè)系統(tǒng)的性能最大化,以滿足業(yè)務(wù)需求。Oracle數(shù)據(jù)庫(kù)作為應(yīng)用較為廣泛的數(shù)據(jù)庫(kù)種類之一,開(kāi)發(fā)測(cè)試人員需要掌握Oracle數(shù)據(jù)庫(kù)調(diào)優(yōu)的常見(jiàn)場(chǎng)景與方法。

在Oracle性能調(diào)優(yōu)任務(wù)中,測(cè)試人員能夠通過(guò)nmon和Oracle自帶的性能分析工具AWR等觀測(cè)數(shù)據(jù)庫(kù)的任務(wù)執(zhí)行情況和資源使用情況。其中,AWR報(bào)告中的SQL Statistics項(xiàng)會(huì)從幾個(gè)維度列舉系統(tǒng)執(zhí)行較慢的SQL語(yǔ)句,用于瓶頸SQL定位。導(dǎo)致SQL語(yǔ)句執(zhí)行時(shí)間長(zhǎng)的原因有很多種,例如SQL解析時(shí)使用硬解析(Hard Parse)方法。下面著重講一下SQL語(yǔ)句的使用軟硬解析的區(qū)別。

在Oracle數(shù)據(jù)庫(kù)中有一塊區(qū)域被稱為共享池(Shared Pool),它用于存放緩沖程序數(shù)據(jù)。已執(zhí)行過(guò)的每一條SQL語(yǔ)句在共享池中都存有解析后的內(nèi)容,存儲(chǔ)這些語(yǔ)句的地方叫高速緩存(Library Cache)。因?yàn)閮?nèi)存區(qū)域是有限的,所以不能將所有解析后的語(yǔ)句都一直保存,Oracle采用最近最少使用原則(LRU,Least Recently Used)來(lái)管理共享池中的對(duì)象,只保留那些使用最頻繁且最近使用的語(yǔ)句。

每當(dāng)Oracle執(zhí)行一條語(yǔ)句時(shí),首先會(huì)進(jìn)行語(yǔ)法檢查(Syntax Check)和語(yǔ)義檢查(Semantic Check)。如果這些都通過(guò),就會(huì)對(duì)SQL語(yǔ)句進(jìn)行解析(Parse),具體做法是利用內(nèi)部的哈希算法來(lái)取得該SQL的哈希值,檢查高速緩存里是否存在該值。如果能成功在高速緩存中找到,就將利用已有的解析樹(shù)(Parse Tree)與執(zhí)行計(jì)劃(Execution Plan),省略優(yōu)化器的相關(guān)工作,這種解析被稱為軟解析(Soft Parse);反之,Oracle將執(zhí)行創(chuàng)建解析樹(shù)、生成執(zhí)行計(jì)劃的工作,并將其放入高速緩存以待重用,這種方式稱為硬解析。

硬解析通過(guò)優(yōu)化器創(chuàng)建最優(yōu)的執(zhí)行計(jì)劃時(shí),會(huì)根據(jù)數(shù)據(jù)字典中對(duì)象的統(tǒng)計(jì)信息計(jì)算多個(gè)執(zhí)行計(jì)劃的代價(jià),從而得到一個(gè)最優(yōu)解。這一步涉及大量的計(jì)算,會(huì)消耗非常多的CPU資源。所以我們?cè)谧鲂阅苷{(diào)優(yōu)時(shí),要盡可能使用軟解析,避免硬解析的執(zhí)行。項(xiàng)目組在改進(jìn)程序時(shí),倡導(dǎo)功能相同的程序盡量保持一致性,多使用綁定變量,即將變量的數(shù)據(jù)通過(guò)一定的數(shù)據(jù)訪問(wèn)技術(shù)來(lái)和相應(yīng)的實(shí)體捆綁在一起,使之成為一個(gè)整體。

本文主要講了Oracle數(shù)據(jù)庫(kù)中SQL解析性能調(diào)優(yōu)的原理和方法,希望能給各位開(kāi)發(fā)測(cè)試人員帶來(lái)幫助。


責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2009-11-17 14:50:50

Oracle調(diào)優(yōu)

2022-08-26 09:01:07

CSSFlex 布局

2022-03-04 16:06:33

數(shù)據(jù)庫(kù)HarmonyOS鴻蒙

2024-08-30 10:51:51

2024-10-25 15:56:20

2019-04-01 14:59:56

負(fù)載均衡服務(wù)器網(wǎng)絡(luò)

2020-12-17 06:48:21

SQLkafkaMySQL

2020-12-11 09:40:10

DevOpsCICD

2023-10-07 00:06:09

SQL數(shù)據(jù)庫(kù)

2022-10-12 23:02:49

Calcite異構(gòu)數(shù)據(jù)框架

2023-09-26 22:12:13

數(shù)據(jù)倉(cāng)庫(kù)Doris

2015-11-06 11:03:36

2015-09-06 09:22:24

框架搭建快速高效app

2024-05-13 09:28:43

Flink SQL大數(shù)據(jù)

2012-07-10 01:22:32

PythonPython教程

2023-11-30 10:21:48

虛擬列表虛擬列表工具庫(kù)

2024-06-19 09:58:29

2022-06-16 07:31:41

Web組件封裝HTML 標(biāo)簽

2023-04-12 11:18:51

甘特圖前端

2021-09-07 09:40:20

Spark大數(shù)據(jù)引擎
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)