掌握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解析效能調優的原理和方法,希望能給各位開發測試人員帶來幫助。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2889756/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 十分鐘初步掌握Oracle資料庫效能調優的常見場景與方法Oracle資料庫
- oracle資料庫調優描述Oracle資料庫
- HBase資料庫效能調優OW資料庫
- 資料庫效能調優之始: analyze統計資訊資料庫
- 資料庫例項效能調優利器:Performance Insights資料庫ORM
- 從資料庫設計到效能調優,全面掌握openGemini應用開發最佳實踐資料庫
- 資料庫調優資料庫
- Oracle效能優化-資料庫CPU使用率100%Oracle優化資料庫
- 資料庫週刊47丨11月國產資料庫排行;MySQL基本知識點;Oracle效能調優筆記…資料庫MySqlOracle筆記
- Oracle 效能調優工具:SQL MonitorOracleSQL
- 一文帶你搞懂GaussDB資料庫效能調優資料庫
- 資料庫的效能調優:如何正確的使用索引?資料庫索引
- Spark 效能調優--資源調優Spark
- 如何對分散式 NewSQL 資料庫 TiDB 進行效能調優分散式SQL資料庫TiDB
- 資料庫效能優化2資料庫優化
- 為資料庫效能調優插上 AI 的翅膀 | 調優測試框架 Matrix 團隊訪談資料庫AI框架
- Oracle實驗6--掌握Oracle資料庫的日誌操作Oracle資料庫
- Oracle - 資料庫的記憶體調整Oracle資料庫記憶體
- 【SQL】Oracle資料庫資料量及效能資訊收集SQLOracle資料庫
- 資料庫效能優化有哪些方式資料庫優化
- 掌握JVM調優命令JVM
- 【效能調優】Oracle AWR報告指標全解析Oracle指標
- ORACLE資料庫降低高水位線方法Oracle資料庫
- 資料庫SQL調優的幾種方式資料庫SQL
- MySQL-12.資料庫其他調優策略MySql資料庫
- 如何實現對 Oracle 的實時資料捕獲和效能調優|Flink CDC 專題Oracle
- 資料庫調優和資料遷移是如何影響資料庫的RY資料庫
- 效能調優-Mysql索引資料結構詳解與索引優化MySql索引資料結構優化
- 資料庫效能優化-索引與sql相關優化資料庫優化索引SQL
- oracle資料庫連續相同資料的統計方法Oracle資料庫
- 【效能調優】效能測試、分析與調優基礎
- 快速掌握 MongoDB 資料庫MongoDB資料庫
- 【BUILD_ORACLE】在Oracle cloud資料庫“插拔”PDB的方法UIOracleCloud資料庫
- 第三代英特爾處理器與開源資料庫效能調優資料庫
- Oracle RMAN 連線資料庫認證方法Oracle資料庫
- 達夢資料庫引數調整方法資料庫
- 使用python進行Oracle資料庫效能趨勢分析PythonOracle資料庫
- 磁碟排序對Oracle資料庫效能的影響PT排序Oracle資料庫