AnalyticDB for MySQL的實時統計分析功能提供了SQL Pattern指標特性,有效提升智能診斷效率,能夠對相似的SQL進行聚合,并呈現出聚合后的特性。
背景信息
SQL Pattern是依托于全量且實時的SQL而產生的功能,通過對SQL進行分類診斷和分析,聚合相似SQL為一類SQL,有效提升智能診斷的效率。同時,SQL Pattern的聚合結果能作為數據庫優化的有效依據。針對導致實例壓力過大的Bad SQL,用戶還可以通過攔截功能,對其進行攔截,快速恢復實例,詳情請參見Persist plan and Query-Blocker。
功能說明
SQL Pattern具備以下功能。
Pattern聚合:根據SQL文本,將相似的SQL進行分組。
Pattern宏觀統計:建立均值與最值比較。
異常SQL排查:排查出異于歷史的Pattern并提供鉆取功能,直達問題SQL,獲取診斷結果。
操作步驟
登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在數倉版頁簽,單擊目標集群ID。
在左側導航欄,單擊診斷與優化。
單擊SQL Pattern頁簽。
默認展示最近30分鐘的SQL Pattern。您可以通過SQL關鍵字或時間范圍搜索SQL Pattern。
SQL Pattern列表各項參數說明如下:
參數
說明
操作
單擊查看詳情,查看特定SQL Pattern的詳細信息。更多信息,請參見查詢詳情。
SQL Pattern
SQL Pattern的具體語句。您可以單擊復制完整的SQL。
用戶名
提交Pattern相關SQL的數據庫用戶名。
客戶端IP
提交Pattern相關SQL的客戶端IP地址。
表名
SQL Pattern掃描的數據庫表。
創建時間
在查詢時間范圍內,Pattern相關SQL的最早提交時間。
執行次數
在查詢時間范圍內,Pattern相關SQL的執行次數。如果實例出現資源水位突增的情況,用戶可以通過執行次數排序,查看實例運行異常時段哪些SQL執行次數較多,并進一步分析這些SQL執行次數突增是否正常。
失敗次數
在查詢時間范圍內,Pattern相關SQL的執行失敗次數。
平均總耗時
在查詢時間范圍內,Pattern相關SQL的平均查詢耗時,單位毫秒(ms)。
最大總耗時
在查詢時間范圍內,Pattern相關SQL的最大查詢耗時,單位毫秒(ms)。通過比較最大總耗時和平均查詢時間,可以了解指定Pattern的耗時增加是否受到其他SQL的影響。如果在實例運行正常時段內最大總耗時和平均查詢時間接近,那么在實例運行異常時段當前pattern的耗時增加可能是受到了其他SQL的影響。
平均執行耗時
在查詢時間范圍內,Pattern相關SQL的平均執行耗時,單位毫秒(ms)。
最大執行耗時
在查詢時間范圍內,Pattern相關SQL的最大執行耗時,單位毫秒(ms)。執行耗時的定義,詳見查詢監控圖和查詢列表介紹。
平均峰值內存
在查詢時間范圍內,Pattern相關SQL的平均峰值內存,單位Byte。
最大峰值內存
在查詢時間范圍內,Pattern相關SQL的最大峰值內存,單位Byte。通過比較最大峰值內存和平均峰值內存,您可以判斷指定SQL使用的內存資源的穩定性。如果最大峰值內存遠大于平均峰值內存,說明當前Pattern的SQL可能存在掃描數據量增加或者執行計劃改變的問題,可以單擊查看詳情,在查詢詳情頁面,查看SQL列表進一步定位原因。
平均掃描量
在查詢時間范圍內,Pattern相關SQL的平均掃描量,單位MB。
最大掃描量
在查詢時間范圍內,Pattern相關SQL的最大掃描量,單位MB。通過比較最大掃描量和平均掃描量,可以判斷同類Pattern的SQL的數據讀取量的穩定性。如果出現最大掃描量遠大于平均掃描量的情況,說明數據讀取量不穩定,則需判斷是否為正常情況。
查詢詳情
查詢詳情頁面以圖形化的方式展示SQL在時間維度上的執行次數、查詢耗時、執行耗時、掃描量以及峰值內存等重要指標,其中查詢耗時、執行耗時、掃描量和峰值內存指標分別提供了最大值和平均值,方便用戶進行比較和分析。SQL列表提供了當前Pattern在分析時段內的所有相關的SQL,您可以單擊診斷,查看SQL的診斷結果和執行計劃,具體操作,參見使用執行計劃分析查詢。
在SQL Pattern頁簽的SQL Pattern列表中,單擊查看詳情,進入查詢詳情頁面,您可以查看SQL Pattern多個指標的時序變化和SQL列表。