本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
STL_UNIQUE
分析在 SELECT 清單中使用 DISTINCT 函數時發生的執行步驟,或在 UNION 或 INTERSECT 查詢中複製或移除時發生的執行步驟。
所有使用者都可以看到此檢視。超級使用者可以看見所有資料列;一般使用者只能看見自己的資料。如需詳細資訊,請參閱系統資料表和檢視中資料的可見性。
資料表欄位
資料欄名稱 | 資料類型 | 描述 |
---|---|---|
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 | 已處理的資料列總數。 |
type |
character(6) | 步驟的類型。有效值為:
|
is_diskbased | character(1) | 如果為 true (t),則查詢是以磁碟為基礎的作業執行。如果為假(f),查詢在內存中執行。 |
slots | integer | 雜湊儲存貯體的總數。 |
workmem | bigint | 已指派給步驟之運作中記憶體中的位元組總數。 |
max_buffers_used | bigint | 在移至磁碟之前於雜湊表中使用的緩衝區數目上限。 |
resizes | integer | 此資訊僅供內部使用。 |
occupied | integer | 此資訊僅供內部使用。 |
flushable | integer | 此資訊僅供內部使用。 |
使用唯一 _ 預取 | character(1) | 此資訊僅供內部使用。 |
位元組 | 大初始化 | 步驟之所有輸出資料列的位元組數目。 |
範例查詢
假設您執行下列查詢:
select distinct eventname from event order by 1;
假設前一個查詢的 ID 為 6313,下列範例會顯示唯一步驟針對區段 0 與 1 中之每個配量所產生的資料列數目。
select query, slice, segment, step, datediff(msec, starttime, endtime) as msec, tasknum, rows from stl_unique where query = 6313 order by query desc, slice, segment, step;
query | slice | segment | step | msec | tasknum | rows -------+-------+---------+------+------+---------+------ 6313 | 0 | 0 | 2 | 0 | 22 | 550 6313 | 0 | 1 | 1 | 256 | 20 | 145 6313 | 1 | 0 | 2 | 1 | 23 | 540 6313 | 1 | 1 | 1 | 42 | 21 | 127 6313 | 2 | 0 | 2 | 1 | 22 | 540 6313 | 2 | 1 | 1 | 255 | 20 | 158 6313 | 3 | 0 | 2 | 1 | 23 | 542 6313 | 3 | 1 | 1 | 38 | 21 | 146 (8 rows)