SVL_COMPILE - Amazon Redshift

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

SVL_COMPILE

記錄查詢之每個查詢區段的編譯時間和位置。

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

注意

SVL_COMPILE 僅包含在主叢集上執行的查詢。但不包含在並行擴縮叢集上執行的查詢。若要存取在主要和並行擴縮叢集上執行的查詢,建議您使用 SYS 監視檢視 SYS_QUERY_HISTORY。SYS 監視檢視中的資料會格式化為更易於使用和理解。

如需 SVCS_COMPILE 的相關資訊,請參閱 SVCS_COMPILE

資料表欄

欄名稱 資料類型 描述
userid integer 產生項目的使用者之 ID。
xid bigint 與陳述式關聯的交易 ID。
pid integer 與陳述式相關聯的處理程序 ID。
query integer 查詢 ID。可用於聯結其他系統資料表與檢視。
segment integer 要編譯的查詢區段。
locus integer 執行區段的位置。1 (若在運算節點上) 和 2 (若在領導節點上)。
starttime timestamp 編譯開始的時間,以 UTC 表示。
endtime timestamp 編譯結束的時間,以 UTC 表示。
compile integer 0 表示編譯是否重新使用,1 表示區段是否編譯。

範例查詢

在此範例中,查詢 35878 和 35879 執行相同的 SQL 陳述式。查詢 35878 的編譯欄位針對四個查詢區段顯示 1,此值表示該區段已編譯。查詢 35879 在每個區段的編譯欄位中顯示 0,表示該區段不需要重新編譯。

select userid, xid, pid, query, segment, locus, datediff(ms, starttime, endtime) as duration, compile from svl_compile where query = 35878 or query = 35879 order by query, segment; userid | xid | pid | query | segment | locus | duration | compile --------+--------+-------+-------+---------+-------+----------+--------- 100 | 112780 | 23028 | 35878 | 0 | 1 | 0 | 0 100 | 112780 | 23028 | 35878 | 1 | 1 | 0 | 0 100 | 112780 | 23028 | 35878 | 2 | 1 | 0 | 0 100 | 112780 | 23028 | 35878 | 3 | 1 | 0 | 0 100 | 112780 | 23028 | 35878 | 4 | 1 | 0 | 0 100 | 112780 | 23028 | 35878 | 5 | 1 | 0 | 0 100 | 112780 | 23028 | 35878 | 6 | 1 | 1380 | 1 100 | 112780 | 23028 | 35878 | 7 | 1 | 1085 | 1 100 | 112780 | 23028 | 35878 | 8 | 1 | 1197 | 1 100 | 112780 | 23028 | 35878 | 9 | 2 | 905 | 1 100 | 112782 | 23028 | 35879 | 0 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 1 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 2 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 3 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 4 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 5 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 6 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 7 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 8 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 9 | 2 | 0 | 0 (20 rows)