本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon Performance Insights 儀表板分析執行計劃 RDS
在 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銷售 WHERE prod_id = 10 |
計畫 A |
SELECT SUM(amount_sold) FROM銷售 WHERE prod_id = 521 |
計畫 B |
SELECT SUM(s_total) FROM銷售WHERE區域 = 10 |
計畫 A |
SELECT * FROM emp WHERE emp_id = 1000 |
計畫 C |
SELECT SUM(amount_sold) FROM銷售 WHERE prod_id = 72 |
計畫 A |
可使用績效詳情的計畫功能執行以下操作:
-
了解熱門SQL查詢使用哪些計劃。
例如,您可能會發現大多數資料庫負載是由使用計畫 A 和計畫 B 的查詢所產生,只有一小部分使用計畫 C。
-
比較同一查詢的不同計畫。
在上面的範例中,除了產品 ID 之外,三個查詢完全相同。兩個查詢使用計畫 A,但有一個查詢使用計畫 B。若要查看兩個計畫的差異,可以使用績效詳情。
-
了解查詢何時切換到新計畫。
您可能會看到有查詢原本使用計畫 A,然後在某個時間切換到計畫 B。此時資料庫是否有變化? 例如,如果資料表空白,最佳化程式可能會選擇完整資料表掃描。如果資料表載入了一百萬列,則最佳化程式可能會切換到索引範圍掃描。
-
向下切入至成本最高的計畫之特定步驟。
例如,長時間執行查詢的 可能會在等聯結中顯示缺少聯結條件。這個缺少的條件強制使用笛卡兒聯結,聯結兩個資料表的所有列。
您可以使用績效詳情的計畫擷取功能執行上述任務。就像您可以依等待事件和頂端 對查詢進行分割一樣SQL,您也可以依計劃維度對查詢進行分割。