PolarDB MySQL版預設將執行時間超過1秒的SQL語句定義為慢SQL,並在控制台提供SQL分析功能。您可以查看慢日誌的趨勢和統計資訊。此外,系統還提供相關SQL的最佳化建議和診斷分析,便於您進行深入分析與最佳化。
前置檢查(可選)
為確保您能正常查看慢SQL日誌,請核實您的賬戶是否已授權AliyunHDMFullAccess許可權。若需進行更精細的許可權管理,您可以使用自訂策略來授權RAM使用者,以便對PolarDB進行靈活的管控設定。
注意事項
慢日誌的最大長度為16 KB,超過該長度的部分將被截斷。
查看慢SQL
登入PolarDB控制台,在左側導覽列單擊集群列表,選擇叢集所在地區,並單擊目的地組群ID進入叢集詳情頁。
在左側導覽列中,選擇。
慢 SQL頁面中分為以下三種功能:
慢日誌分析
在慢日誌分析頁簽,選擇需要查看的時間段,查看該時間段內慢日誌趨勢、事件分布、慢日誌統計和慢日誌明細。
說明選擇時間範圍時,查詢結束時間需晚於查詢開始時間,且查詢開始時間和查詢結束時間的間隔不能超過7天,您可以查詢最近一個月內的慢日誌資訊。
您可以在慢日誌趨勢圖中選擇某個時間點,查看該時間點的慢日誌統計和慢日誌明細。
說明如果慢日誌語句內容過長,沒有完整展示,您可以將滑鼠指標放置在對應的慢日誌語句上,系統將以彈框的形式展示完整的慢日誌語句。
在事件分布地區:
可以查詢到指定時間範圍內的慢日誌事件,單擊後可查詢事件詳情。
您可以在節點ID下拉框地區,查看每個節點的慢請求數量。
單擊
,可以將慢日誌資訊儲存到本地查看。單擊
,可攜帶當前已選擇和輸入的參數,跳轉至OpenApi控制台,進行API調試。在慢日誌統計地區:
在列表上側,可選擇過濾條件,對資料進行篩選,不同的資料庫引擎可篩選條件不同。
單擊目標SQL模板SQL ID列的資料ID,可查看包含使用者分布、用戶端分布和指標趨勢的相關性及明細列表。
單擊目標SQL模板操作列的最佳化,在彈出的SQL診斷最佳化對話方塊中,查看SQL診斷結果。
若您採納診斷建議,單擊頁面右上方的複製,並將最佳化後的SQL粘貼到資料庫用戶端或DMS上執行,若不採納診斷建議,可直接單擊取消結束診斷。
說明DAS會根據SQL的複雜程度、對應表的資料量、資料庫負載等進行SQL診斷,診斷建議的返回時間可能會超過20秒。完成診斷後,SQL診斷引擎會給出診斷結果、最佳化建議和預期最佳化收益,您可以根據診斷結果確認是否採納建議。
單擊目標SQL模板操作列的限流,在SQL限流頁面配置限流參數,對目標SQ進行限流。詳細操作請參見SQL限流。
對於PolarDB MySQL版資料庫執行個體,單擊目標SQL模板操作列的IMCI,查看列存索引(IMCI)的相關文檔。
說明當PolarDB MySQL版資料庫執行個體未購買列存索引節點,且慢日誌的最大執行時間超過20秒,最大掃描行超過20萬行時,顯示IMCI按鈕。
對於巨量資料量複雜查詢,推薦使用列存索引(IMCI)提升查詢效能。
在慢日誌明細地區,單擊目標SQL操作列的最佳化和限流,也可對目標SQL進行SQL診斷最佳化和SQL限流。
自動SQL最佳化建議
自動SQL最佳化建議頁面,選擇需要查看的時間段。
開啟自動SQL最佳化:自動識別問題SQL,產生索引最佳化建議,並在不引發鎖表的情況下自動建立索引。
說明您可以根據業務查看詳情請參見自動SQL最佳化。
查詢治理
在查詢治理頁,查看查詢治理結果。
查詢治理結果概覽:查看系統打標分類後的結果資料。
說明只統計開啟DAS企業版執行個體的執行失敗SQL次數。
查詢治理趨勢:查看所選時間範圍內查詢治理結果的變化趨勢。
TOP數據:查看執行個體紅榜和執行個體黑榜。
執行個體黑榜:查看資料庫執行個體慢SQL執行次數。
執行個體紅榜:查看資料庫執行個體慢SQL執行次數變化量,負數表示慢SQL執行次數減少量(最佳化效果好),正數表示慢SQL執行次數增加量。
DAS推薦您重點關注推薦最佳化SQL的紅黑榜。
待最佳化SQL:您可以設定篩選條件,過濾出需要治理的SQL語句。
說明支援通過DB名稱、SQL關鍵字、規則標籤和資料庫使用者名稱進行篩選,四者之間是邏輯與的關係。
多個DB名稱之間使用英文逗號(,)分隔,邏輯關係為或。
多個SQL關鍵字之間使用空格分隔,邏輯關係為與。
多個資料庫使用者名稱之間使用英文逗號(,)分隔,邏輯關係為或。
規則標籤支援多選,多個規則之間邏輯關係為或。
單擊目標SQL樣本操作列的建議,查看詳細的治理建議。
單擊目標SQL樣本操作列的打標,對此SQL進行手動打標。標籤的具體含義請參見支援手動打標的SQL標籤。
您也可以勾選需要手動打標的SQL,進行批量打標。
單擊目標SQL樣本操作列的樣本,查看此SQL的慢日誌樣本詳情。
單擊目標SQL樣本操作列的趨勢,查看此SQL的慢日誌分析詳情。詳細的慢日誌分析介紹及操作請參見慢日誌。
您可以根據需要匯出和分享待最佳化的SQL資料,具體操作請參見慢日誌。
失敗SQL:您可以設定篩選條件,過濾出需要查看的SQL語句。
說明只統計開啟DAS企業版執行個體的失敗SQL。
支援通過DB名稱和SQL關鍵字進行篩選,兩者是邏輯與的關係。
多個DB名稱之間使用英文逗號(,)分隔,邏輯關係為或。
多個SQL關鍵字之間使用空格分隔,邏輯關係為與。
單擊目標SQL樣本操作列的樣本,查看此SQL的樣本詳情。
調整慢SQL閾值
您可以前往PolarDB控制台的頁面中,通過設定long_query_time參數來調整慢SQL定義的閾值。
參數 | 說明 |
long_query_time | 將所有執行時間超過參數值的查詢記錄到慢查詢日誌中。 取值範圍:0.03-31536000,預設值:1,單位秒。 |
常見問題
最佳實務
相關API
API | 說明 |
查看PolarDB MySQL版叢集的慢日誌統計資訊。 | |
查看PolarDB MySQL版叢集的慢日誌明細。 | |
查看PolarDB MySQL版叢集的SQL採集功能(例如審計日誌、SQL洞察等)是否開啟。 | |
開啟或關閉PolarDB MySQL版叢集的SQL採集功能(例如審計日誌、SQL洞察等)。 |