十分鐘初步掌握Oracle資料庫效能調優的常見場景與方法
摘要:隨著網際網路應用的快速發展,使用者的體驗要求也在不斷提高,軟體的效能測試顯得尤為重要。 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~
在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解析效能調優的原理和方法,希望能給各位開發測試人員帶來幫助。
最後:
可以我的個人V:atstudy-js,可以免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的視訊學習教程免費分享!,其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試等。
這些測試資料,對於做【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2886974/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 掌握Oracle資料庫效能調優方法Oracle資料庫
- 三十分鐘掌握Webpack效能優化Web優化
- JVM之調優及常見場景分析JVM
- oracle資料庫調優描述Oracle資料庫
- HBase資料庫效能調優OW資料庫
- WEB前端效能優化常見方法Web前端優化
- oracle資料庫常見故障和解決難度Oracle資料庫
- 資料中心代理的常見使用場景
- 分散式資料庫的需求與場景分散式資料庫
- MQ 常見的使用場景MQ
- 常見資料庫資料庫
- 資料庫的效能調優:如何正確的使用索引?資料庫索引
- 一文帶你掌握常見的 Pandas 效能優化方法,讓你的 pandas 飛起來!優化
- 資料庫效能調優之始: analyze統計資訊資料庫
- 【TUNE_ORACLE】Oracle資料庫與HugePages(三)HugePages常見問題和解決辦法Oracle資料庫
- 資料庫例項效能調優利器:Performance Insights資料庫ORM
- etcd 在超大規模資料場景下的效能優化優化
- 從資料庫設計到效能調優,全面掌握openGemini應用開發最佳實踐資料庫
- 資料庫調優資料庫
- Oracle效能優化-資料庫CPU使用率100%Oracle優化資料庫
- Oracle資料庫備份、災備的23個常見問題Oracle資料庫
- nginx實現常見場景Nginx
- Chaosblade 常見場景演練
- Redis常見應用場景Redis
- Redis常見的16個使用場景Redis
- 資料庫週刊47丨11月國產資料庫排行;MySQL基本知識點;Oracle效能調優筆記…資料庫MySqlOracle筆記
- Oracle 效能調優工具:SQL MonitorOracleSQL
- 資料庫資料恢復-ORACLE資料庫的常見故障&各種故障下的資料恢復可能性資料庫資料恢復Oracle
- web效能常見優化技巧Web優化
- 資料庫常見問題資料庫
- 一文帶你搞懂GaussDB資料庫效能調優資料庫
- 為資料庫效能調優插上 AI 的翅膀 | 調優測試框架 Matrix 團隊訪談資料庫AI框架
- 【效能調優】效能測試、分析與調優基礎
- 【資料庫資料恢復】ORACLE常見資料災難&資料恢復可能性資料庫資料恢復Oracle
- Oracle實驗6--掌握Oracle資料庫的日誌操作Oracle資料庫
- 有哪些常見的資料探勘方法?
- 資料庫效能優化-索引與sql相關優化資料庫優化索引SQL
- 效能調優-Mysql索引資料結構詳解與索引優化MySql索引資料結構優化