使用 Amazon RDS 的 Performance Insights 儀表板來分析執行計畫 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Amazon RDS 的 Performance Insights 儀表板來分析執行計畫

在 Amazon RDS Performance Insights 儀表板中,您可以找到 Oracle 和 SQL Server 資料庫執行個體執行計畫的相關資訊。您可以使用此資訊來了解哪些計畫對資料庫負載造成最大影響。

若要分析 Oracle 或 SQL Server 執行計畫,請參閱下列主題。

分析 Amazon RDS 執行計畫的概觀

您可以使用 Amazon RDS Performance Insights 儀表板,了解哪些計畫對 Oracle 和 SQL Server 資料庫執行個體的資料庫負載造成最大影響。

例如,指定時間的最高 SQL 陳述式可能正使用下表中顯示的計畫。

最高 SQL 計畫

SELECT SUM(amount_sold) FROM sales WHERE prod_id = 10

計畫 A

SELECT SUM(amount_sold) FROM sales WHERE prod_id = 521

計畫 B

SELECT SUM(s_total) FROM sales WHERE region = 10

計畫 A

SELECT * FROM emp WHERE emp_id = 1000

計畫 C

SELECT SUM(amount_sold) FROM sales WHERE prod_id = 72

計畫 A

可使用績效詳情的計畫功能執行以下操作:

  • 找出最高 SQL 查詢使用的計畫。

    例如,您可能會發現大多數資料庫負載是由使用計畫 A 和計畫 B 的查詢所產生,只有一小部分使用計畫 C。

  • 比較同一查詢的不同計畫。

    在上面的範例中,除了產品 ID 之外,三個查詢完全相同。兩個查詢使用計畫 A,但有一個查詢使用計畫 B。若要查看兩個計畫的差異,可以使用績效詳情。

  • 了解查詢何時切換到新計畫。

    您可能會看到有查詢原本使用計畫 A,然後在某個時間切換到計畫 B。此時資料庫是否有變化? 例如,如果資料表空白,最佳化程式可能會選擇完整資料表掃描。如果資料表載入了一百萬列,則最佳化程式可能會切換到索引範圍掃描。

  • 向下切入至成本最高的計畫之特定步驟。

    例如,長時間執行的查詢,可能意味著對等聯結中缺少聯結條件。這個缺少的條件強制使用笛卡兒聯結,聯結兩個資料表的所有列。

您可以使用績效詳情的計畫擷取功能執行上述任務。就跟依據等待事件和最高 SQL 對查詢進行配量一樣,您也可以按計畫維度來配量。