STV_TBL_TRANS - Amazon Redshift

STV_TBL_TRANS

現在メモリ内にある一時データベーステーブルに関する情報を取得するには、STV_TBL_TRANS テーブルを使用します。

一時テーブルとは通常、クエリ実行中に中間結果として使用される一時行セットです。STV_TBL_PERM には恒久的なデータベーステーブルに関する情報が含まれるという点で、STV_TBL_TRANS は STV_TBL_PERM と異なります。

STV_TBL_TRANS はスーパーユーザーのみに表示されます。詳細については、「システムテーブルとビューのデータの可視性」を参照してください。

テーブルの列

列名 データ型 説明
slice integer テーブルに割り当てられたノードスライス。
id integer テーブル ID。
rows bigint テーブル内のデータ行数。
size bigint テーブルに割り当てられたバイト数。
query_id bigint クエリ ID。
ref_cnt integer 参照の数。
from_suspended integer このテーブルが、現在停止されているクエリの実行中に作成されたかどうかを示します。
prep_swap integer この一時テーブルが、必要に応じてディスクにスワップできるように準備されているかどうかを示します。(スワップは、メモリが少ない場合のみ発生します。)

サンプルクエリ

クエリ ID が 90 であるクエリの一時テーブル情報を見るには、以下のコマンドを入力します。

select slice, id, rows, size, query_id, ref_cnt from stv_tbl_trans where query_id = 90;

このクエリは、以下の出力例のように、クエリ 90 の一時テーブル情報を返します。

slice | id | rows | size | query_ | ref_ | from_ | prep_ | | | | id | cnt | suspended | swap ------+----+------+------+--------+------+-----------+------- 1013 | 95 | 0 | 0 | 90 | 4 | 0 | 0 7 | 96 | 0 | 0 | 90 | 4 | 0 | 0 10 | 96 | 0 | 0 | 90 | 4 | 0 | 0 17 | 96 | 0 | 0 | 90 | 4 | 0 | 0 14 | 96 | 0 | 0 | 90 | 4 | 0 | 0 3 | 96 | 0 | 0 | 90 | 4 | 0 | 0 1013 | 99 | 0 | 0 | 90 | 4 | 0 | 0 9 | 96 | 0 | 0 | 90 | 4 | 0 | 0 5 | 96 | 0 | 0 | 90 | 4 | 0 | 0 19 | 96 | 0 | 0 | 90 | 4 | 0 | 0 2 | 96 | 0 | 0 | 90 | 4 | 0 | 0 1013 | 98 | 0 | 0 | 90 | 4 | 0 | 0 13 | 96 | 0 | 0 | 90 | 4 | 0 | 0 1 | 96 | 0 | 0 | 90 | 4 | 0 | 0 1013 | 96 | 0 | 0 | 90 | 4 | 0 | 0 6 | 96 | 0 | 0 | 90 | 4 | 0 | 0 11 | 96 | 0 | 0 | 90 | 4 | 0 | 0 15 | 96 | 0 | 0 | 90 | 4 | 0 | 0 18 | 96 | 0 | 0 | 90 | 4 | 0 | 0

この例では、クエリデータがテーブル 95、96、および 98 に関係していることが分かります。このテーブルにはゼロバイトが割り当てられているため、このクエリはメモリ内で実行可能です。