本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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