STL_NESTLOOP - Amazon Redshift

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

STL_NESTLOOP

分析查詢的巢狀迴路聯結執行步驟。

STL所有使用者都可看見 _NESTLOOP。超級使用者可以看見所有資料列;一般使用者只能看見自己的資料。如需詳細資訊,請參閱系統資料表和檢視中資料的可見性

注意

STL_NESTLOOP 僅包含主叢集上執行的查詢。但不包含在並行擴縮叢集上執行的查詢。若要存取在主要和並行擴展叢集上執行的查詢,建議您使用SYS監控檢視 SYS_QUERY_DETAIL 。SYS 監控檢視中的資料已格式化,以便於使用和理解。

資料表欄

欄名稱 資料類型 描述
userid integer 產生項目的使用者之 ID。
query integer 查詢 ID。查詢欄可用於加入其他系統表格與檢視。
分割 integer 識別執行查詢之配量的數字。
segment integer 識別查詢區段的號碼。
step integer 執行的查詢步驟。
starttime timestamp UTC 查詢開始的時間。總時間包括佇列和執行。秒小數部分的精確度為 6 位元。例如:2009-06-12 11:29:19.131358
endtime timestamp UTC 查詢完成的時間。總時間包括佇列和執行。秒小數部分的精確度為 6 位元。例如:2009-06-12 11:29:19.131358
tasknum integer 指派執行步驟的查詢任務程序編號。
rows bigint 已處理的列總數。
tbl integer 表格 ID。
checksum bigint 此資訊僅供內部使用。

範例查詢

由於下列查詢忽略加入CATEGORY資料表,因此會產生不建議的部分卡氏產品。在這裡顯示它,是為了說明巢狀迴路。

select count(event.eventname), event.eventname, category.catname, date.caldate from event, category, date where event.dateid = date.dateid group by event.eventname, category.catname, date.caldate;

下列查詢顯示 STL_NESTLOOP 檢視中先前查詢的結果。

select query, slice, segment as seg, step, datediff(msec, starttime, endtime) as duration, tasknum, rows, tbl from stl_nestloop where query = pg_last_query_id();
query | slice | seg | step | duration | tasknum | rows | tbl -------+-------+-----+------+----------+---------+-------+----- 6028 | 0 | 4 | 5 | 41 | 22 | 24277 | 240 6028 | 1 | 4 | 5 | 26 | 23 | 24189 | 240 6028 | 3 | 4 | 5 | 25 | 23 | 24376 | 240 6028 | 2 | 4 | 5 | 54 | 22 | 23936 | 240