SVL_QLOG - Amazon Redshift

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

SVL_QLOG

SVL_QLOG 檢視包含針對資料庫執行之所有查詢的記錄。

Amazon Redshift 會創建 SVL_QLOG 檢視以可讀資訊子集的形式來自STL_QUERY資料表。使用此資料表來找出最近執行之查詢的查詢 ID,或查看完成查詢需要多長時間。

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

資料表欄位

資料欄名稱 資料類型 描述
userid integer 產生項目的使用者之 ID。
query integer 查詢 ID。您可以使用此 ID 來聯結各種其他系統資料表與檢視。
xid bigint 交易 ID。
pid integer 與查詢相關聯的處理程序 ID。
starttime timestamp 陳述試開始執行的確切時間,精確度為六位數的小數秒 — 例如:2009-06-12 11:29:19.131358
endtime timestamp 陳述試完成執行的確切時間,精確度為六位數的小數秒 — 例如:2009-06-12 11:29:19.193640
elapsed bigint 查詢運行的所需時間長度 (微秒)。
aborted integer 如果查詢已被系統停止或已被使用者取消,則此資料欄包含1。如果查詢執行至完成,欄位會包含 0。為工作負載管理目的而取消並隨後重新啟動的查詢也會具有1在此列中。
label character(320) 用於執行查詢的檔案名稱,或以 SET QUERY_GROUP 命令定義的標籤。如果查詢不是檔案型,或未設定 QUERY_GROUP 參數,則此欄位值為 default
substring character(60) 遭截斷的查詢文字。
source_query integer 如果查詢使用了結果快取,則為快取結果來源之查詢的查詢 ID。如果未使用結果快取,此欄位的值為 NULL
併發擴展 _ 狀態 _txt text 描述查詢是執行於主要叢集或並行擴展叢集。
from_sp_call integer 如果是從預存程序呼叫查詢,則為程序呼叫的查詢 ID。如果查詢不是在預存程序中執行,則此欄位為 NULL

範例查詢

下列範例傳回使用者執行之最近五個資料庫查詢的查詢 ID、執行時間和被截斷的查詢文字userid = 100

select query, pid, elapsed, substring from svl_qlog where userid = 100 order by starttime desc limit 5; query | pid | elapsed | substring --------+-------+----------+----------------------------------------------- 187752 | 18921 | 18465685 | select query, elapsed, substring from svl_... 204168 | 5117 | 59603 | insert into testtable values (100); 187561 | 17046 | 1003052 | select * from pg_table_def where tablename... 187549 | 17046 | 1108584 | select * from STV_WLM_SERVICE_CLASS_CONFIG 187468 | 17046 | 5670661 | select * from pg_table_def where schemaname... (5 rows)

下列範例會傳回 SQL 指令碼名稱 (LABEL 欄位) 和已取消查詢的歷經時間 (aborted=1):

select query, elapsed, trim(label) querylabel from svl_qlog where aborted=1; query | elapsed | querylabel -------+----------+------------------------- 16 | 6935292 | alltickittablesjoin.sql (1 row)