Oracle效能優化-SQL優化(案例一)
Oracle 效能優化 -SQL 優化 ( 案例一 )
環境:
OS:Red Hat Enterprise Linux AS release 4
DB:Oracle 10.2.0.1.0
問題現象:
客戶反饋ERP 系統操作緩慢,伺服器IO 負載較高;
問題原因:
(1) 個別 SQL 執行效率較低,由於 SQL 執行計劃不合理,造成 SQL 執行過程中的邏輯讀和物理讀較多,導致伺服器 IO 負載較高, ERP 執行緩慢;
(2) 收集統計資訊的 JOB 執行時間為工作時間 9:13 ,和正常業務產生資源爭用;
解決方案:
(1) 優化 SQL 執行效率,減少 SQL 執行過程中產生的邏輯讀和物理讀,降低伺服器 IO 負載;
方法:
收集資料不均勻列checkman 和 senderman 的統計直方圖;
(2) 建議將收集統計資訊的 JOB 執行時間更改為非工作時間;
問題分析過程:
可以通過Oracle AWR 報告或者 iostat 命令檢視 IO 負載較高:
查詢IO 負載高的原因:
通過AWR 報告可以看到消耗資源過多的 SQL 主要來源於以下兩個:
一:協同憑證操作對應的SQL
二:用於自動收集統計資訊的JOB
DECLARE job BINARY_INTEGER := :job; next_date DATE := :mydate; broken BOOLEAN := FALSE; BEGIN ANALYZE_TB ; :mydate := next_date; IF broken THEN :b := 1; ELSE :b := 0; END IF; END
通過AWR 檢視 SQL
通過PLSQL 檢視 SQL
通過NMC 檢視 SQL
SQL 優化:
通過繫結變數值以及SQL 執行計劃分析 SQL 產生的執行計劃不合理, pub_workflownote 表沒有走索引,而是走全表掃描;
檢視資料分佈情況,發現senderman 和 checkman 列分佈不均勻
對senderman 和 checkman 列收集統計直方圖
再次檢視SQL 執行計劃,發現 pub_workflownote 表可以正常走索引
生成統計直方圖後進行了第一次繫結變數窺探,將生成第一個帶入引數值的正確執行計劃;
歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2675825/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle效能優化-SQL優化(案例二)Oracle優化SQL
- Oracle效能優化-SQL優化(案例三)Oracle優化SQL
- Oracle效能優化-SQL優化(案例四)Oracle優化SQL
- Oracle 某行系統SQL優化案例(一)OracleSQL優化
- MySQL SQL優化案例(一)MySql優化
- Oracle某行系統SQL優化案例(三)OracleSQL優化
- Oracle某行系統SQL優化(案例五)OracleSQL優化
- Oracle某行系統SQL優化案例(二)OracleSQL優化
- oracle 效能優化Oracle優化
- SQL優化案例-使用with as優化Subquery Unnesting(七)SQL優化
- Oracle優化案例-使用with as優化Subquery Unnesting(七)Oracle優化
- Oracle案例10——HWM(高水位線)效能優化Oracle優化
- SQL效能優化技巧SQL優化
- Oracle SQL效能優化的40條軍規OracleSQL優化
- Oracle優化案例-(三十四)Oracle優化
- Oracle 效能優化-expdp備份速度優化02Oracle優化
- Oracle 效能優化-expdp備份速度優化03Oracle優化
- sql語句效能優化SQL優化
- Oracle 高效能SQL引擎剖析--SQL優化與調優機制詳解OracleSQL優化
- Oracle SQL優化之sql tuning advisorOracleSQL優化
- Oracle優化案例-復現SQL ordered by Parse Calls(三十二)Oracle優化SQL
- SQL優化案例-union代替or(九)SQL優化
- Oracle優化案例-union代替or(九)Oracle優化
- 效能調優——SQL最佳化SQL
- Oracle優化案例-join列索引缺失導致的sql效能問題(二十六)Oracle優化索引SQL
- 資料庫效能優化-索引與sql相關優化資料庫優化索引SQL
- Oracle優化案例-教你線上搞定top cpu的sql(十二)Oracle優化SQL
- 【前端效能優化】vue效能優化前端優化Vue
- SQL優化案例-單表分頁語句的優化(八)SQL優化
- Oracle優化案例-單表分頁語句的優化(八)Oracle優化
- SQL優化之多表關聯查詢-案例一SQL優化
- spark效能優化(一)Spark優化
- Mysql效能優化一MySql優化
- Oracle優化案例-從執行計劃定位SQL問題(三)Oracle優化SQL
- Oracle優化案例-關閉auto space advisor和sql tuning advisor(十九)Oracle優化SQL
- MySQL的SQL效能優化總結MySql優化
- Oracle優化案例-儲存過程的優化思路(二十三)Oracle優化儲存過程
- Spark SQL 效能優化再進一步 CBO 基於代價的優化SparkSQL優化