最近在做一套核心庫的的spa回放,共分為3個任務來跑,其中任務1,2跑起來較慢,預估時間要20多少小時。實際跑下來將近24個小時。按照以往經驗,這點sql最多幾個小時就該跑完的,所以,老司機的擼感告訴自己,應該是出問題了。再次核查統計信息,索引等信息,發現都正常。這說明數據準備這塊確實沒問題,看來問題應該出現在sql上。只能等spa報告跑出來分析報告了。
主要分析了任務1,2跑出的buffer_gets報告,下面這條語句引起了我的注意。
==>時間上比生產的平均值要高,達到了20s。邏輯讀上生產的平均值是一百多萬,測試環境中更是達到了兩百多萬,但返回的行數卻很少。很顯然這條語句在生產上性能本就存在問題,但可能因調用量少,問題沒有凸顯出來。
==》這類語句在spa任務1,2中的sql集中存在較多,分別為五千多,六千多。按每個語句20s執行,這類語句執行消耗的時間可估算總和到幾十個小時。
==》把這條語句多帶帶拿出來進行優化,重新收集統計信息,新建索引等方法,執行計劃達不到想要的結果,邏輯讀依然達到了兩百多萬。
==》最后只能改寫這條語句了,注意到這里使用了hint關鍵字/*+ORDERED */,該ORDERED提示使Oracle按照表在FROM子句中出現的順序聯接表。懷疑是該hint導致執行計劃無法最優。手工把該hint去掉后,測試環境邏輯讀降為兩千多。
如果要綁定sqlprofile,這一類語句太多了,即使綁定也一定都適用此類語句。
可以考慮將此類語句從SQL集中去掉,但去掉的話就無法驗證是否是這一批語句引起的問題。
19c環境我們可以使用OPTIMIZER_IGNORE_HINTS參數來忽略sql語句中使用的hint。默認為false,我們在system級別調成true,再跑下spa任務。
==》重新跑spa任務后,系統估算任務1,2在2個小時內能跑完,實際跑下來也確認如此,速度提升了近10倍。
==》最新跑出的報告,該語句對比性能提升顯著,執行時間在0.02s左右,邏輯讀三千左右。
SPA任務跑的慢,說明語句可能存在問題。那么本次的原因是因業務語句使用hint導致,根本上解決此問題還需要和業務側溝通整改。另外補充下,OPTIMIZER_IGNORE_HINTS參數對現有綁定sqlprofile的語句不影響,這里不再詳細闡述。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130184.html
摘要:展示如下場景再現經過分析,最后我們定位到是使用產生的內存泄露問題。下面通過一個,來簡單講下具體內存泄露的原因。這一次的內存泄露問題算是解決了??偨Y關于內存泄露問題在第一次排查時,往往是有點不知所措的。 記一次 JAVA 的內存泄露分析 摘要:本文屬于原創,歡迎轉載,轉載請保留出處:https://github.com/jasonGeng88/blog 當前環境 jdk == 1.8 ...
摘要:在過程中,發現的報錯是在中兩個頁面的無刷切換中出現的。看向網址等等網址的前綴是,這個是谷歌瀏覽器插件的前綴。難不成,這個文件是谷歌瀏覽器插件的于是看向了中間的那一串神秘字符串。 場景重現 項目是一個SPA,使用了Vue+Vue-Router+Webpack+jQuery。報錯的場景如下:showImg(http://7xk109.com1.z0.glb.clouddn.com/blog...
摘要:然后類似一樣我的命名是可以在頁面的任何地方使用,如果你對具體的實現方法有興趣,歡迎點擊本文結尾的鏈接,去我的倉庫上查看。 前言 最近收到一個這樣的需求,要求做一個基于 vue 和 element-ui 的通用后臺框架頁,具體要求如下: 要求通用性高,需要在后期四十多個子項目中使用,所以大部分地方都做成可配置的. 要求做成腳手架的形式.可以 npm 安裝 要求實現多頁簽,并且可以通過瀏...
摘要:然后類似一樣我的命名是可以在頁面的任何地方使用,如果你對具體的實現方法有興趣,歡迎點擊本文結尾的鏈接,去我的倉庫上查看。 前言 最近收到一個這樣的需求,要求做一個基于 vue 和 element-ui 的通用后臺框架頁,具體要求如下: 要求通用性高,需要在后期四十多個子項目中使用,所以大部分地方都做成可配置的. 要求做成腳手架的形式.可以 npm 安裝 要求實現多頁簽,并且可以通過瀏...
摘要:用戶體驗的需求,完美地保留了瀑布流模態框的閱讀模式。不支持的話,就不攔截瀑布流文塊的,也就是直接讓其跳轉。 背景 想當年,我做了一個新媒體網站項目(AIISPO,已下線)。跟普通資訊網站不一樣的是,老板要求PC端前臺的文章閱讀模式一定得是瀑布流+模態框。瀑布流指的是以瀑布流的形式將文章羅列出來,而模態框則指的是點擊瀑布流中代表文章的某個文塊時,直接在當前頁面彈出模態框來顯示文章正文。 ...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20