本頁面說明如何監控及排解資料庫中正在執行的查詢。監控這些查詢有助於找出系統延遲和 CPU 使用率偏高的成因。
在「查詢洞察」儀表板上,您可以查看有效交易的摘要,以及含有相關查詢和統計資料的交易清單。交易會依據交易開始時間顯示。如果有大量查詢正在執行,結果可能會限制為總查詢的子集。
事前準備
如要監控有效查詢,您可以使用 Cloud SQL Enterprise 或 Cloud SQL Enterprise Plus 版本。
如要在有效查詢中終止工作階段或長時間執行的交易,您必須為 Cloud SQL for MySQL 執行個體使用 Cloud SQL Enterprise Plus 版本。
如要進一步瞭解 Cloud SQL 版本,請參閱「Cloud SQL 版本簡介」。
必要角色和權限
如要取得查看有效查詢所需的權限,請要求管理員在代管 Cloud SQL 執行個體的專案中,授予您下列 IAM 角色:
-
查看執行個體活動摘要:
Cloud SQL 檢視器 (
roles/cloudsql.viewer
) -
查看資料庫活動摘要和長時間執行的交易:
資料庫洞察檢視器 (
roles/databaseinsights.viewer
) -
終止工作階段或長時間執行的交易:
-
Cloud SQL 編輯器 (
roles/cloudsql.editor
) -
資料庫深入分析作業管理員 (
roles/databaseinsights.operationsAdmin
)
-
Cloud SQL 編輯器 (
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色包含查看有效查詢所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
您必須具備下列權限,才能查看有效查詢:
-
查看資料庫活動摘要和長時間執行的交易:
-
databaseinsights.activeQueries.fetch
-
databaseinsights.activitySummary.fetch
-
啟用執行中的查詢
啟用查詢洞察後,系統會自動啟用執行中的查詢。如要終止在有效查詢中執行的工作階段或長時間交易,您必須使用 Cloud SQL Enterprise Plus 版的查詢洞察。
停用執行中查詢
您必須停用查詢洞察資料,才能停用執行中的查詢。如要停用執行中查詢和查詢洞察,請參閱停用查詢洞察。
查看執行中的查詢
如要查看有效查詢,請完成下列步驟:
前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。
如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
如要顯示「查詢深入分析」資訊主頁,請執行下列任一操作:
- 選取「查詢深入分析」分頁標籤。
- 按一下「前往查詢洞察,進一步瞭解查詢和效能」。系統會開啟「查詢洞察」資訊主頁。頂端會顯示執行個體的詳細資料。
按一下「有效查詢」分頁標籤。
您可以在此處修改執行時間最長的交易表格中顯示的查詢資訊:
- 資料庫:篩選特定資料庫或所有資料庫上的查詢負載。
- 使用者:篩選特定使用者帳戶的查詢負載。
所有有效查詢的摘要評量表:根據下列參數顯示連線總數,提供所有有效查詢的概覽:
- 依連線狀態分類的有效連線分布情形。
- 根據交易狀態分布的有效交易。
- 查詢時間的分布情形。
- 執行時間最長的交易:根據執行時間 (以倒序排序),提供執行中查詢 (處於有效狀態) 的總覽。您可以在表格中篩選及排序執行中的查詢。
查看已規格化的執行中的查詢
您可以在「查詢洞察」資訊主頁中,查看列有正規化有效查詢的熱門長時間交易清單。經過標準化的活動查詢會移除機密資料,並傳回摘要。以下範例中使用的不同值的摘要相同:
一般查詢
select * from test_table where id=1;
select * from test_table_where id=2;
摘要或已正規化的查詢
select * from test_table where id=?;
在不同工作階段中執行的查詢會以不同的項目顯示在資訊主頁上。
查看執行時間最長的交易
「查詢深入分析」資訊主頁的「執行時間最長的交易」表格包含下列資料欄:
資料欄名稱 | 說明 |
---|---|
程序 ID | 連線的專屬 ID。 |
查詢 | SQL 查詢文字。 |
交易狀態 | 交易目前的執行狀態。允許的值包括:RUNNING 、LOCK WAIT 、ROLLING BACK 和 COMMITTING 。 |
執行緒狀態 | 執行緒狀態 (或查詢狀態) 會指出使用中執行緒的目前狀態。 |
交易開始時間 | 交易開始執行時的時間戳記。 |
交易時間長度 | 目前運作中交易的持續時間 (以秒為單位)。 |
交易等待時間 | 目前運作中交易的等待時間 (以秒為單位)。 |
執行緒狀態持續時間 | 查詢歷時。 |
交易資料列已鎖定 | 目前有效交易鎖定的資料列數量。 |
交易資料列已修改 | 目前有效交易修改的資料列數。 |
資料庫 | 這項連線執行的資料庫名稱。 |
使用者名稱 | 連線至資料庫的使用者名稱。 |
用戶端位址 | 使用者連線至資料庫的用戶端 IP 位址。 |
動作 | 包含終止交易的連結。 |
畫面會自動每 60 秒重新整理一次。
終止連線
如要終止有效查詢中的連線或長時間執行的交易,您必須使用 Cloud SQL Enterprise Plus 版本,並啟用 Cloud SQL Enterprise Plus 版本的查詢洞察資訊。
長時間執行的作業可能需要較長的時間才能終止。
如要終止查詢或交易,請完成下列步驟:
- 在「最久執行的交易」表格中選取查詢。
- 在「動作」欄中,按一下「終止連線」。
- 在「終止連線」視窗中,按一下「確認」。
資料庫要求會在背景中終止時立即傳回。
系統會在您啟動終止程序後重新整理頁面。如果終止作業失敗,系統就不會傳回錯誤訊息或通知。查詢會繼續顯示在「進行中的查詢」清單中。如果終止成功,查詢就不會再顯示在清單中。如果終止作業需要復原,則「交易狀態」欄會顯示「復原中」狀態,表示終止作業仍在進行中。