STV_TBL_PERM - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

STV_TBL_PERM

PERMTabel STV TBL _ _ berisi informasi tentang tabel permanen di Amazon Redshift, termasuk tabel sementara yang dibuat oleh pengguna untuk sesi saat ini. STV_ TBL _ PERM berisi informasi untuk semua tabel di semua database.

Tabel ini berbeda dariSTV_TBL_TRANS, yang berisi informasi tentang tabel database sementara yang dibuat sistem selama pemrosesan kueri.

STV_ TBL _ PERM hanya terlihat oleh pengguna super. Untuk informasi selengkapnya, lihat Visibilitas data dalam tabel dan tampilan sistem.

Kolom tabel

Nama kolom Jenis data Deskripsi
mengiris integer Node slice dialokasikan ke tabel.
id integer ID Tabel.
name karakter (72) Nama tabel.
baris bigint Jumlah baris data dalam irisan.
sorted_rows bigint Jumlah baris dalam irisan yang sudah diurutkan pada disk. Jika nomor ini tidak cocok dengan ROWS nomor, vakum tabel untuk menggunakan baris.
pekerja sementara integer Apakah tabel adalah tabel sementara atau tidak. 0 = false; 1 = true.
db_id integer ID database tempat tabel dibuat.
insert_pristine integer Untuk penggunaan internal.
delete_murni integer Untuk penggunaan internal.
pencadangan integer Nilai yang menunjukkan apakah tabel disertakan dalam snapshot cluster. 0 = tidak; 1 = ya. Untuk informasi selengkapnya, lihat BACKUP parameter untuk CREATE TABLE perintah.
gaya dist_ integer Gaya distribusi tabel yang menjadi milik irisan. Untuk informasi tentang nilai, lihatMelihat gaya distribusi. Untuk informasi tentang gaya distribusi, lihatGaya distribusi.
block_count integer Jumlah blok yang digunakan oleh irisan. Nilainya -1 ketika jumlah blok tidak dapat dihitung.

Kueri Sampel

Query berikut mengembalikan daftar tabel IDs dan nama yang berbeda:

select distinct id, name from stv_tbl_perm order by name; id | name --------+------------------------- 100571 | category 100575 | date 100580 | event 100596 | listing 100003 | padb_config_harvest 100612 | sales ...

Tabel sistem lain menggunakan tabelIDs, jadi mengetahui ID tabel mana yang sesuai dengan tabel tertentu bisa sangat berguna. Dalam contoh ini, SELECT DISTINCT digunakan untuk menghapus duplikat (tabel didistribusikan di beberapa irisan).

Untuk menentukan jumlah blok yang digunakan oleh setiap kolom dalam VENUE tabel, ketikkan kueri berikut:

select col, count(*) from stv_blocklist, stv_tbl_perm where stv_blocklist.tbl = stv_tbl_perm.id and stv_blocklist.slice = stv_tbl_perm.slice and stv_tbl_perm.name = 'venue' group by col order by col; col | count -----+------- 0 | 8 1 | 8 2 | 8 3 | 8 4 | 8 5 | 8 6 | 8 7 | 8 (8 rows)

Catatan penggunaan

ROWSKolom mencakup jumlah baris yang dihapus yang belum disedot (atau telah disedot tetapi dengan opsi). SORT ONLY Oleh karena ituSUM, ROWS kolom dalam PERM tabel STV _ TBL _ mungkin tidak cocok dengan hasil COUNT (*) saat Anda menanyakan tabel yang diberikan secara langsung. Misalnya, jika 2 baris dihapus dariVENUE, hasil COUNT (*) adalah 200 tetapi hasil SUM (ROWS) masih 202:

delete from venue where venueid in (1,2); select count(*) from venue; count ------- 200 (1 row) select trim(name) tablename, sum(rows) from stv_tbl_perm where name='venue' group by name; tablename | sum -----------+----- venue | 202 (1 row)

Untuk menyinkronkan data di STV TBL _ _PERM, jalankan VENUE tabel vakum penuh.

vacuum venue; select trim(name) tablename, sum(rows) from stv_tbl_perm where name='venue' group by name; tablename | sum -----------+----- venue | 200 (1 row)