本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 STV_EXEC_STATE 資料表以找出有關正在運算節點執行之查詢及查詢步驟的資訊。
此資訊通常僅用於排解工程設計問題。SVV_QUERY_STATE 與 SVL_QUERY_SUMMARY 檢視會從 STV_EXEC_STATE 擷取其資訊。
所有使用者都可看見 STV_EXEC_STATE。超級使用者可以看見所有資料列;一般使用者只能看見自己的資料。如需詳細資訊,請參閱系統資料表和檢視中資料的可見性。
此資料表中的部份或所有資料也會在 SYS 監控檢視 SYS_QUERY_DETAIL 中找到。SYS 監視檢視中的資料會格式化為更易於使用和理解。我們建議您使用 SYS 監控檢視進行查詢。
資料表欄
欄名稱 | 資料類型 | 描述 |
---|---|---|
userid | integer | 產生項目之使用者的 ID。 |
query | integer | 查詢 ID。可用於聯結其他系統資料表與檢視。 |
分割 | integer | 步驟完成的節點分割。 |
segment | integer | 執行查詢的區段。查詢區段是一系列的步驟。 |
step | integer | 完成查詢區段的步驟。步驟是查詢執行的最小單位。 |
starttime | timestamp | 步驟執行的時間。 |
currenttime | timestamp | 目前時間。 |
tasknum | integer | 指派完成步驟之查詢任務程序。 |
rows | bigint | 處理的資料列數。 |
位元組 | bigint | 處理的位元組數。 |
label | char(256) | 步驟標籤,包含查詢步驟名稱與資料表 ID 及資料表名稱 (如適用) (例如 scan tbl=100448 name =user )。三位數資料表 ID 通常是指暫時性資料表的掃描。當您看見 tbl=0 時,通常是指常數值的掃描。 |
is_diskbased | char(1) | 查詢的這個步驟是否以磁碟型操作方式完成:true (t ) 或 false (f )。只有特定步驟會進入磁碟,例如雜湊、排序及彙總步驟。許多步驟類型一律在記憶體中完成。 |
workmem | bigint | 已指派給步驟之運作中記憶體的位元組數。 |
num_parts | integer | 雜湊資料表在雜湊步驟期間已分割的分割區數。此欄位中的正數並不表示雜湊步驟以磁碟式操作方式執行。檢查 IS_DISKBASED 欄位中的值,查看該雜湊步驟是否為磁碟型。 |
is_rrscan | char(1) | 若為 true (t ),表示已在步驟上使用範圍限制掃描。預設為 false (f )。 |
is_delayed_scan | char(1) | 若為 true (t ),表示已在該步驟上使用延遲的掃描。預設為 false (f )。 |
範例查詢
Amazon Redshift 建議查詢 SVL_QUERY_SUMMARY 或 SVV_QUERY_STATE 以更友善使用者的格式獲得 STV_EXEC_STATE 中的資訊,而非直接查詢 STV_EXEC_STATE。如需詳細資訊,請參閱 SVL_QUERY_SUMMARY 或 SVV_QUERY_STATE 資料表文件。