

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

# 使用 Amazon RDS 的 Performance Insights 儀表板來分析執行計畫
<a name="USER_PerfInsights.UsingDashboard.AnalyzingPlans"></a>

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

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

**分析執行計畫**
+ [使用 Amazon RDS 的 Performance Insights 儀表板來分析 Oracle 執行計畫](USER_PerfInsights.UsingDashboard.AccessPlans.md)
+ [使用 Amazon RDS 的 Performance Insights 儀表板來分析 SQL Server 執行計畫](USER_PerfInsights.UsingDashboard.AccessPlansSqlServer.md)

## 分析 Amazon RDS 執行計畫的概觀
<a name="USER_PerfInsights.UsingDashboard.AnalyzingPlans.Overview"></a>

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

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


****  

| 最高 SQL | 計畫 | 
| --- | --- | 
|  SELECT SUM(amount\$1sold) FROM sales WHERE prod\$1id = 10  |  計畫 A  | 
|  SELECT SUM(amount\$1sold) FROM sales WHERE prod\$1id = 521  |  計畫 B  | 
|  SELECT SUM(s\$1total) FROM sales WHERE region = 10  |  計畫 A  | 
|  SELECT \$1 FROM emp WHERE emp\$1id = 1000  |  計畫 C  | 
|  SELECT SUM(amount\$1sold) FROM sales WHERE prod\$1id = 72  |  計畫 A  | 

可使用績效詳情的計畫功能執行以下操作：
+ 找出最高 SQL 查詢使用的計畫。

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

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

  您可能會看到有查詢原本使用計畫 A，然後在某個時間切換到計畫 B。此時資料庫是否有變化？ 例如，如果資料表空白，最佳化程式可能會選擇完整資料表掃描。如果資料表載入了一百萬列，則最佳化程式可能會切換到索引範圍掃描。
+ 向下切入至成本最高的計畫之特定步驟。

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

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