

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

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

# SVL\_QUERY\_REPORT
<a name="r_SVL_QUERY_REPORT"></a>

Amazon Redshift 從各種 Amazon Redshift STL 系統資料表的 UNION 中建立 SVL\_QUERY\_REPORT 檢視，來提供已完成查詢步驟的資訊。

此檢視會依分割和依步驟來劃分已完成查詢的資訊，此有助於針對在 Amazon Redshift 叢集中的節點和分割問題進行疑難排解。

所有使用者都可看見 SVL\_QUERY\_REPORT。超級使用者可以看見所有資料列；一般使用者只能看見自己的資料。如需詳細資訊，請參閱[系統資料表和檢視中資料的可見性](cm_chap_system-tables.md#c_visibility-of-data)。

此資料表中的部份或所有資料也會在 SYS 監控檢視 [SYS\_QUERY\_DETAIL](SYS_QUERY_DETAIL.md) 中找到。SYS 監視檢視中的資料會格式化為更易於使用和理解。我們建議您使用 SYS 監控檢視進行查詢。

## 資料表欄
<a name="r_SVL_QUERY_REPORT-table-rows2"></a>


| 欄名稱  | 資料類型  | 說明  | 
| --- | --- | --- | 
| userid  | integer  | 產生項目之使用者的 ID。 | 
| query  | integer  | 查詢 ID。可用於聯結其他系統資料表與檢視。 | 
| 分割  | integer  | 執行步驟的資料分割。 | 
| segment  | integer  | 區段號碼。<br />查詢包含多個區段，每個區段包含一或多個步驟。查詢區段可平行執行。每個區段皆在單一程序中執行。 | 
| step  | integer  | 已完成的查詢步驟。 | 
| start\_time  | timestamp | 區段開始執行的確切時間 (以 UTC 表示)，精確度為 6 位數的小數秒。例如：2012-12-12 11:29:19.131358 | 
| end\_time  | timestamp | 區段完成執行的確切時間 (以 UTC 表示)，精確度為 6 位數的小數秒。例如：2012-12-12 11:29:19.131467 | 
| elapsed\_time  | bigint  | 區段執行的所需時間 (微秒)。 | 
| rows  | bigint  | 步驟產生的資料列數 (每分割)。此數字表示因步驟執行而造成之分割的資料列數，而不是步驟接收或處理的資料列數。也就是說，此為歷經該步驟且傳遞至下一個步驟之資料列數。 | 
| bytes  | bigint  | 步驟產生的位元組數 (每分割)。 | 
| label  | char(256)  | 步驟標籤，包含查詢步驟名稱與資料表 ID 及資料表名稱 (如適用) (例如 scan tbl=100448 name =user)。三位數資料表 ID 通常是指暫時性資料表的掃描。當您看見  tbl=0 時，通常是指常數值的掃描。 | 
| is\_diskbased  | character(1)  | 查詢的這個步驟是否以磁碟型操作方式執行：true (t) 或 false (f)。只有特定步驟會進入磁碟，例如雜湊、排序及彙總步驟。許多步驟類型一律在記憶體中執行。 | 
| workmem  | bigint  | 已指派給查詢步驟之運作中記憶體數 (位元組)。此值為在執行期間為使用而配置的 query\_working\_mem 臨界值，而非實際所用的記憶體量  | 
| is\_rrscan  | character(1)  | 若為 true (t)，表示已在步驟上使用範圍限制掃描。 | 
| is\_delayed\_scan  | character(1)  | 若為 true (t)，表示已在該步驟上使用延遲的掃描。 | 
| rows\_pre\_filter | bigint | 對於永久資料表的掃描，指的是在篩選標記進行刪除的資料列 (幽靈資料列) 之後，但在套用使用者定義的查詢篩選條件之前已發出的資料列總數。 | 

## 範例查詢
<a name="r_SVL_QUERY_REPORT-sample-queries2"></a>

下列查詢示範查詢 ID 為 279 的查詢之傳回列的資料扭曲。使用此查詢來決定資料庫資料是否在資料倉儲叢集中的分割中平均分散：

```
select query, segment, step, max(rows), min(rows),
case when sum(rows) > 0
then ((cast(max(rows) -min(rows) as float)*count(rows))/sum(rows))
else 0 end
from svl_query_report
where query = 279
group by query, segment, step
order by segment, step;
```

此查詢應會傳回與下列範例輸出類似的資料：

```
query | segment | step |   max    |   min    |         case
------+---------+------+----------+----------+----------------------
279 |       0 |    0 | 19721687 | 19721687 |                    0
279 |       0 |    1 | 19721687 | 19721687 |                    0
279 |       1 |    0 |   986085 |   986084 | 1.01411202804304e-06
279 |       1 |    1 |   986085 |   986084 | 1.01411202804304e-06
279 |       1 |    4 |   986085 |   986084 | 1.01411202804304e-06
279 |       2 |    0 |  1775517 |   788460 |     1.00098637606408
279 |       2 |    2 |  1775517 |   788460 |     1.00098637606408
279 |       3 |    0 |  1775517 |   788460 |     1.00098637606408
279 |       3 |    2 |  1775517 |   788460 |     1.00098637606408
279 |       3 |    3 |  1775517 |   788460 |     1.00098637606408
279 |       4 |    0 |  1775517 |   788460 |     1.00098637606408
279 |       4 |    1 |  1775517 |   788460 |     1.00098637606408
279 |       4 |    2 |        1 |        1 |                    0
279 |       5 |    0 |        1 |        1 |                    0
279 |       5 |    1 |        1 |        1 |                    0
279 |       6 |    0 |       20 |       20 |                    0
279 |       6 |    1 |        1 |        1 |                    0
279 |       7 |    0 |        1 |        1 |                    0
279 |       7 |    1 |        0 |        0 |                    0
(19 rows)
```