AnalyticDB PostgreSQL版查詢分析功能可供您查看SQL執行計劃以及對應統計信息,供您對查詢進行分析和調優。本文介紹查詢診斷功能的基本使用方法。
前提條件
實例資源類型為存儲彈性模式,且內核版本為V6.3.10.1及以上版本。如何查看和升級內核小版本,請參見查看內核小版本和版本升級。注意事項
查詢診斷頁面僅展示執行時長超過1秒的SQL。
操作步驟
- 登錄云原生數據倉庫AnalyticDB PostgreSQL版控制臺。
- 在控制臺左上角,選擇實例所在地域。
- 找到目標實例,單擊實例ID。
在左側導航欄中,選擇 。
在查詢診斷頁簽右上角選擇目標數據庫、篩選條件以及時間范圍,即可查看查詢執行狀態信息。
查詢分析頁面提供查詢執行泳道圖和SQL列表兩種方式供您查看查詢執行狀態信息:
查詢執行泳道圖
泳道中的每一個條色塊代表一次查詢執行過程。您可以將鼠標移至色塊上方查看該查詢的執行相關信息,單擊詳情可進入查詢屬性頁面。查詢屬性頁面介紹,請參見查詢屬性。
SQL列表
列表中每一個條信息代表一次查詢執行過程。列表中展示了查詢執行的相關信息及數據,您可以單擊操作列的診斷進入查詢屬性界面。查詢屬性頁面介紹,請參見查詢屬性。
SQL列表中包含的信息如下:
名稱
說明
SQL
SQL查詢語句。
開始時間
查詢開始執行的時間。
查詢Id
查詢唯一標識編號。
會話Id
查詢所屬會話(Session)編號。
數據庫
查詢的數據庫名。
狀態
查詢執行的狀態。取值如下:
已完成
執行中
耗時
查詢執行的總時長,單位為秒(s)。
用戶名
執行本次查詢的用戶。
您可以單擊下載按鈕將列表數據下載至本地。
查詢屬性
查詢屬性頁面由查詢語句、執行計劃文本和執行計劃樹三個頁簽組成。
查詢語句
查詢語句頁簽提供了SQL查詢語句。
執行計劃文本
執行計劃文本頁簽提供了通過EXPLAIN命令獲得的查詢執行計劃,關于執行計劃的更多介紹,請參見執行計劃。
執行計劃樹
執行計劃樹頁簽提供了樹狀執行計劃圖。該頁簽左側展示了計劃樹,右側展示了算子執行時的統計信息。您可以單擊計劃樹中的算子卡片查看該算子的詳情統計信息。
默認情況下,計劃樹中算子卡片下方線條代表該算子執行耗時在所有算子中的占比,頁面右上的列表也會展示算子執行耗時占比,并按耗時占比排序。您也可以根據需求選擇按照占用內存、磁盤讀取數據量、磁盤讀取數據耗時、網絡傳輸數據量、網絡傳輸數據耗時對算子排序以及計算整體比例。
算子統計信息介紹如下:
名稱 | 說明 |
算子名稱 | 算子名稱與編號,在計劃樹中唯一。 |
類型ID | 算子類型編號。 |
類型 | 算子類型名,在計劃樹中可能重復出現。 |
輸出行數 | 該算子向上層算子輸出數據行數。 |
輸入行數 | 該算子從下層算子或磁盤中讀取的數據行數。 |
執行占用內存 | 算子執行占用內存。 說明 查詢分析中只統計Sort、Hash、Hash Aggregate三個算子占用的內存,其它算子因占用內存較少而忽略。 |
執行耗時 | 算子執行耗時。 |
磁盤讀取數據量 | 算子從磁盤中讀取數據總量。 說明 算子從磁盤讀取數據包括Scan算子讀取原始數據或其它算子由于內存不足所出現的數據落盤(Spill)。 |
磁盤讀取數據耗時 | 算子從磁盤中讀取數據的耗時。 |
網絡傳輸數據量 | Motion算子節點間網絡傳輸的數據總量。 |
網絡傳輸耗時 | Motion算子節點間網絡傳輸數據耗時。 |