一次優化
今天去客戶那巡檢,客戶反映前幾個月,CPU佔用率基本在50%左右,100%的時間也很短。而從12月開始,CPU幾乎在80%以上,長時間維持100%,CPU曲線圖上看幾乎沒有波峰波谷
從客戶那拿到了9-12月的STATSPACK報告,發現12月邏輯讀增加很多。看了下TOP SQL,發現了貓膩,前3個月的查詢時間範圍為月初到月末,而12月,基本都是年初到年末。
這個系統沒有用分頁,而且資料量也不小,一個SQL取幾十萬資料是常事。
在alert日誌中,發現大量的ORA-01555錯誤,報錯時執行的時間基本都在2個小時。這些SQL也是STATSPACK中的TOP SQL
SQL對應的表上都有合適的索引,但是這些SQL都沒有選擇正確的索引。
觀察了下,這些SQL都是from檢視,而且這些檢視的結構都相同,都是
select /*+rule */ * from A,B where a.a1=b.b1 and xxxxxx
union all
select /*+rule */ * from C,B where c.c1=b.b1 and xxxxxx
union all
select /*+rule */ * from C,B where c.c1=b.b1 and xxxxxx
這樣的,估計這個RULE有問題,去掉測試了下,執行計劃正常,以前執行2個小時不出結果的,1分鐘以內能出來。
中午的時候,去掉了相關檢視的RULE提示,下午觀察,CPU利用率降低到60%,沒有高於80%的情況,在一個可以接受的範圍內。
問了下客戶,他們這個系統是從8i升級上來的,估計這些RULE提示都是8i遺留下來的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8242091/viewspace-624493/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- NOT IN 一次優化優化
- EntityFramework優化:第一次啟動優化Framework優化
- 記一次UITableView優化UIView優化
- 記一次sql優化SQL優化
- 一次 Flutter WebView 效能優化FlutterWebView優化
- ? 記一次前端效能優化前端優化
- 記一次分頁優化優化
- 記錄一次打包優化優化
- 一次成功的優化案例優化
- 一次sql優化小記SQL優化
- 記一次 Webpack 專案優化Web優化
- 一次Oracle優化所想到的Oracle優化
- 記一次Elasticsearch優化總結Elasticsearch優化
- 記一次golang的gzip優化Golang優化
- 一次UnionAll的合併優化優化
- 記一次效能優化經歷優化
- 對Hash Join的一次優化優化
- 一次移動優化之旅(二)優化
- 漫漫優化路,總會錯幾步(記一次介面優化)優化
- 記一次 spinor flash 讀速度優化優化
- 記一次公司產品「負」優化優化
- 一次簡單的分頁優化優化
- 記一次Node專案的優化優化
- 記MySQL一次關於In的優化MySql優化
- 記一次前端效能優化的案例前端優化
- 一次簡單的程式碼優化優化
- 一次HASH JION過慢優化(2)優化
- 一次HASH JION過慢優化(1)優化
- 一次效能優化調整過程.優化
- 一次sql語句優化的反思SQL優化
- 一次分頁查詢的優化優化
- Go藉助PProf的一次效能優化Go優化
- 一次生產的 JVM 優化案例JVM優化
- 記一次 VUE 專案優化實踐Vue優化
- 一次資料庫的優化經歷資料庫優化
- 記一次Prometheus代理效能優化問題Prometheus優化
- 記一次提升18倍的效能優化優化
- 涉及子查詢sql的一次優化SQL優化