

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

# 使用 Performance Insights 中的最高 SQL 索引標籤分析查詢
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics"></a>

在 Amazon RDS 績效詳情儀表板中，您可以在 **Top dimensions** (最高維度) 表格的 **Top SQL** (最高 SQL) 索引標籤中找到執行中和近期查詢的相關資訊。您可以使用此資訊來調校查詢。

**Topics**
+ [最高 SQL 索引標籤概觀](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL)
+ [在績效詳情儀表板中存取更多 SQL 文字](USER_PerfInsights.UsingDashboard.SQLTextSize.md)
+ [在績效詳情儀表板中檢視 SQL 統計數字](USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.AnalyzingSQLLevel.md)

## 最高 SQL 索引標籤概觀
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL"></a>

依預設，**Top SQL** (最高 SQL) 索引標籤會顯示在資料庫負載中佔最大比例的 25 個查詢。為了協助調校查詢，您可以分析查詢文字和 SQL 統計資料等資訊。您還可以選擇要出現在 **Top SQL** (最高 SQL) 索引標籤中的統計數字。

**Topics**
+ [SQL 文字](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.text)
+ [SQL Statistics](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.statistics)
+ [依等待分組的負載 (AAS)](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Load-by-waits)
+ [檢視 SQL 資訊](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.SQL-information)
+ [選擇統計資料偏好設定](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Preferences)

### SQL 文字
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.text"></a>

根據預設，**Top SQL** (最高 SQL) 資料表中的每個資料列都會顯示每個 SQL 陳述式的 500 位元組文字。

![\[SQL 文字\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/sql-text-oracle.png)


若要了解如何查看超過預設 500 位元組的 SQL 文字，請參閱 [在績效詳情儀表板中存取更多 SQL 文字](USER_PerfInsights.UsingDashboard.SQLTextSize.md)。

*SQL 摘要*綜合顯示結構相似但可能有不同常值的多個實際查詢。摘要中，問號會取代硬式編碼值。例如，摘要可能是 `SELECT * FROM emp WHERE lname= ?`。此摘要可能包含下列子查詢：

```
SELECT * FROM emp WHERE lname = 'Sanchez'
SELECT * FROM emp WHERE lname = 'Olagappan'
SELECT * FROM emp WHERE lname = 'Wu'
```

若要逐句查看摘要中的 SQL 陳述式，請選取查詢，然後選擇加號 (\$1)。在下列範例中，選取的查詢是摘要。

![\[選取的 SQL 摘要\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_4b.png)


**注意**  
SQL 摘要會將類似的 SQL 陳述式分組，但不會修訂敏感資訊。

績效詳情可以將 Oracle SQL 文字顯示為 **Unknown (不明)**。在以下情況中，文字具有此狀態：
+ `SYS` 以外的 Oracle 資料庫使用者處於作用中狀態，但目前未執行 SQL。例如，當平行查詢完成時，查詢協調器會等待協助程式程序傳送工作階段統計數字。在等待期間，查詢文字顯示會顯示 **Unknown (不明)**。
+ 對於標準版 2 上的 RDS for Oracle 執行個體，Oracle Resource Manager 會限制平行執行緒的數量。執行此工作的背景處理程序會導致查詢文字顯示為 **Unknown (不明)**。

### SQL Statistics
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.statistics"></a>

*SQL 統計數字*是 SQL 查詢的效能相關指標。例如，績效詳情可能顯示每秒的執行次數或每秒處理的資料列數。績效詳情只收集最常用查詢的統計數字。這些通常會符合績效詳情儀表板中依負載顯示的熱門查詢。

**Top SQL** (最高 SQL) 表格的每一行顯示 SQL 陳述式或摘要的相關統計數字，如下列範例所示。

![\[最高 SQL\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_4.png)


績效詳情可將 SQL 統計數字報告為 `0.00` 和 `-` (不明)。在下列情況下會發生此情況：
+ 只有一個樣本存在。例如，績效詳情會根據 `pg_stat_statements` 檢視中的多個樣本來計算 RDS PostgreSQL 查詢。當工作負載執行時間很短時，績效詳情可能只收集到一個樣本，這代表它無法計算變化速率。不明值用破折號 (`-`) 表示。
+ 兩個樣本具有相同的值。績效詳情無法計算變化速率，因為沒有發生變化，因此它將速率報告為 `0.00`。
+ RDS PostgreSQL 陳述式缺少有效識別符。只有在解析和分析之後，PostgreSQL 才會為陳述式建立識別符。因此，陳述式可以存在於 PostgreSQL 內部記憶體中結構，而沒有識別符。由於績效詳情每秒對內部記憶體中結構採樣一次，所以低延遲查詢可能只顯示一個樣本。如果查詢識別符無法用於此樣本，則績效詳情無法將此陳述式與其統計數字產生關聯。不明值用破折號 (`-`) 表示。

如需 Amazon RDS 引擎之 SQL 統計數字的說明，請參閱[績效詳情的 SQL 統計數字](sql-statistics.md)。

### 依等待分組的負載 (AAS)
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Load-by-waits"></a>

在**最高 SQL** 中，**根據等待的負載 (AAS)** 欄說明了與每個最高負載項目相關聯的資料庫負載百分比。此欄根據目前在**資料庫負載圖表**中所選的群組依據來反映出該項目的負載。如需平均作用中工作階段 (AAS) 的詳細資訊，請參閱 [平均作用中工作階段](USER_PerfInsights.Overview.ActiveSessions.md#USER_PerfInsights.Overview.ActiveSessions.AAS)。

例如，您可以依等待狀態將 **DB load** (資料庫負載) 圖表分組。您可檢查最高負載項目資料表中的 SQL 查詢。在此情況下，**根據等待列出資料庫負載**列較大且分段，並以顏色為代碼來顯示該查詢所帶來的指定等待狀態程度。這也會顯示哪些等待狀態會影響選取的查詢。

![\[依據等待的資料庫負載\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf_insights_6.png)


### 檢視 SQL 資訊
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.SQL-information"></a>

在**最高 SQL** 資料表中，您可以開啟陳述式以檢視其資訊。資訊會顯示在底部窗格中。

![\[已選取常值查詢的最高 SQL 表格\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-sql-ids-open.png)


以下幾種與 SQL 陳述式相關聯的識別符 (ID)：
+ **支援 SQL ID** – SQL ID 的雜湊值。此值只是在您與 AWS Support 互動時用來參考 SQL ID。AWSSupport 無法存取您的實際 SQL ID 和 SQL 文字。
+ **支援摘要 ID** – 摘要 ID 的雜湊值。此值只是在您與 AWS Support 互動時用來參考摘要 ID。AWSSupport 無法存取您的實際摘要 ID 和 SQL 文字。

### 選擇統計資料偏好設定
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Preferences"></a>

您可以選擇 **Preferences** (偏好設定) 圖示，以控制 **Top SQL** (最高 SQL) 索引標籤中顯示的統計資料。

![\[統計資料偏好設定\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-sql-ids-preferences-icon.png)


當您選擇 **Preferences (偏好設定)** 圖示時，**Preferences (偏好設定)** 視窗會開啟。下列螢幕擷取畫面是 **Preferences** (偏好設定) 視窗的範例。

![\[偏好設定視窗\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/perf-insights-sql-ids-preferences.png)


若要讓您要的統計數字出現在 **Top SQL** (最高 SQL) 索引標籤中，請使用滑鼠捲動到視窗底部，然後選擇 **Continue** (繼續)。

如需 Amazon RDS 引擎每秒或每次呼叫統計資料的詳細資訊，請參閱 [績效詳情的 SQL 統計數字](sql-statistics.md) 中的引擎特定 SQL 統計資料一節