AnalyticDB MySQL版的SQL診斷功能可以對SQL查詢的Query、Stage和運算元(Operator)層級的資訊分別進行統計,再在統計資訊的基礎上進行診斷並提供調優建議。本文介紹如何在AnalyticDB MySQL版控制台上查看目標查詢的屬性與各層級的診斷結果。
注意事項
德國(法蘭克福)、英國(倫敦)、美國(矽谷)和美國(維吉尼亞)地區的叢集暫不支援SQL診斷功能。
查看查詢屬性
進入SQL診斷優化頁簽。詳細操作步驟,請參見進入SQL診斷頁簽。
在SQL診斷優化頁簽的右上方,根據業務需要選擇整體檢索條件,例如檢索最近5分鐘內耗時最長的100個SQL查詢。
在檢索結果的圖表中,您可以選擇如下任意一種方式進入查詢詳情頁面:
方式一
在查詢監控地區的趨勢圖中,每個色塊代表一次SQL查詢,將滑鼠放在色塊上可以查看目標查詢的相關資訊(例如查詢開始或結束時間),單擊詳情即可進入目標查詢的詳情頁面。
方式二
在SQL列表頁簽下,單擊目標查詢左側操作欄中的診斷,即可進入目標查詢的詳情頁面。
在查詢詳情頁面的查詢屬性地區,可以查看目標查詢語句的執行情況,例如掃描數據、返回數據、峰值內存等。
單擊頁面右上方返回即可回到查詢趨勢圖所在頁,查看其它查詢的相關資訊。
查看診斷結果
根據查看查詢屬性中的步驟進入查詢詳情頁面。
在查詢詳情頁面,單擊執行計劃頁簽來查看目標查詢的執行計畫樹圖。您可以通過執行計畫樹來查看Query、Stage和Operator層級的診斷結果:
查看Query層級的診斷結果
在執行計畫樹右側,單擊查詢級別診斷結果,即可直接查看Query層級的診斷結果詳情。更多關於Query層級診斷結果的詳情,請參見Query層級診斷結果。
查看Stage層級的診斷結果
單擊執行計畫樹中某個Stage(如Stage[2]),即可在右側查看對應Stage的診斷結果詳情。更多關於Stage層級診斷結果的詳情,請參見Stage層級診斷結果。
查看運算元(Operator)層級的診斷結果
將滑鼠移動到目標Stage上,在彈出的資訊框中單擊查看Stage計劃,進入對應Stage的計劃詳情頁。
在Stage計劃詳情頁,單擊執行計畫樹中某個運算元(如TableScan[3]),即可在右側查看對應運算元的診斷結果詳情。更多詳情,請參見運算元層級診斷結果。