STV_BLOCKLIST - Amazon Redshift

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

STV_BLOCKLIST

STV_BLOCKLIST berisi jumlah blok disk 1 MB yang digunakan oleh setiap irisan, tabel, atau kolom dalam database.

Gunakan kueri agregat dengan STV_BLOCKLIST, seperti yang ditunjukkan contoh berikut, untuk menentukan jumlah blok disk 1 MB yang dialokasikan per database, tabel, irisan, atau kolom. Anda juga dapat menggunakan STV_PARTISI untuk melihat informasi ringkasan tentang pemanfaatan disk.

STV_BLOCKLIST 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 Irisan simpul.
col integer Indeks berbasis nol untuk kolom. Setiap tabel yang Anda buat memiliki tiga kolom tersembunyi yang ditambahkan padanya: INSERT_XID, DELETE_XID, dan ROW_ID (OID). Tabel dengan 3 kolom yang ditentukan pengguna berisi 6 kolom aktual, dan kolom yang ditentukan pengguna diberi nomor internal sebagai 0, 1, dan 2. Kolom INSERT_XID, DELETE_XID, dan ROW_ID masing-masing diberi nomor 3, 4, dan 5, dalam contoh ini.
tbl integer ID tabel untuk tabel database.
blocknum integer ID untuk blok data.
num_values integer Jumlah nilai yang terkandung di blok.
extended_limits integer Untuk penggunaan internal.
minvalue bigint Nilai data minimum blok. Menyimpan delapan karakter pertama sebagai integer 64-bit untuk data non-numerik. Digunakan untuk pemindaian disk.
nilai maksimal bigint Nilai data maksimum blok. Menyimpan delapan karakter pertama sebagai integer 64-bit untuk data non-numerik. Digunakan untuk pemindaian disk.
sb_pos integer Pengidentifikasi Amazon Redshift internal untuk posisi blok super pada disk.
disematkan integer Apakah blok disematkan ke memori sebagai bagian dari pra-muat. 0 = false; 1 = true. Default adalah false.
on_disk integer Apakah blok disimpan secara otomatis pada disk atau tidak. 0 = false; 1 = true. Default adalah false.
dimodifikasi integer Apakah blok telah dimodifikasi atau tidak. 0 = false; 1 = true. Default adalah false.
hdr_dimodifikasi integer Apakah header blok telah dimodifikasi atau tidak. 0 = false; 1 = true. Default adalah false.
tidak disortir integer Apakah blok tidak disortir atau tidak. 0 = false; 1 = true. Default adalah benar.
batu nisan integer Untuk penggunaan internal.
disukai_diskno integer Nomor disk yang harus dihidupkan blok, kecuali disk gagal. Setelah disk diperbaiki, blok akan kembali ke disk ini.
sementara integer Apakah blok berisi data sementara atau tidak, seperti dari tabel sementara atau hasil kueri menengah. 0 = salah; 1 = benar. Default adalah false.
blok baru integer Menunjukkan apakah sebuah blok baru (true) atau tidak pernah berkomitmen ke disk (false). 0 = false; 1 = true.
num_reader integer Jumlah referensi di setiap blok.
bendera integer Bendera Amazon Redshift internal untuk header blok.

Kueri Sampel

STV_BLOCKLIST berisi satu baris per blok disk yang dialokasikan, sehingga kueri yang memilih semua baris berpotensi mengembalikan sejumlah besar baris. Sebaiknya gunakan hanya kueri agregat dengan STV_BLOCKLIST.

SVV_DISKUSAGETampilan memberikan informasi serupa dalam format yang lebih user-friendly; Namun, contoh berikut menunjukkan satu penggunaan tabel STV_BLOCKLIST.

Untuk menentukan jumlah blok 1 MB yang digunakan oleh setiap kolom dalam tabel VENUE, 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;

Kueri ini mengembalikan jumlah blok 1 MB yang dialokasikan untuk setiap kolom dalam tabel VENUE, yang ditunjukkan oleh data sampel berikut:

col | count -----+------- 0 | 4 1 | 4 2 | 4 3 | 4 4 | 4 5 | 4 7 | 4 8 | 4 (8 rows)

Kueri berikut menunjukkan apakah data tabel benar-benar didistribusikan ke semua irisan:

select trim(name) as table, stv_blocklist.slice, stv_tbl_perm.rows from stv_blocklist,stv_tbl_perm where stv_blocklist.tbl=stv_tbl_perm.id and stv_tbl_perm.slice=stv_blocklist.slice and stv_blocklist.id > 10000 and name not like '%#m%' and name not like 'systable%' group by name, stv_blocklist.slice, stv_tbl_perm.rows order by 3 desc;

Kueri ini menghasilkan output sampel berikut, menunjukkan distribusi data genap untuk tabel dengan baris terbanyak:

table | slice | rows ----------+-------+------- listing | 13 | 10527 listing | 14 | 10526 listing | 8 | 10526 listing | 9 | 10526 listing | 7 | 10525 listing | 4 | 10525 listing | 17 | 10525 listing | 11 | 10525 listing | 5 | 10525 listing | 18 | 10525 listing | 12 | 10525 listing | 3 | 10525 listing | 10 | 10525 listing | 2 | 10524 listing | 15 | 10524 listing | 16 | 10524 listing | 6 | 10524 listing | 19 | 10524 listing | 1 | 10523 listing | 0 | 10521 ... (180 rows)

Kueri berikut menentukan apakah ada blok batu nisan yang dikomit ke disk:

select slice, col, tbl, blocknum, newblock from stv_blocklist where tombstone > 0; slice | col | tbl | blocknum | newblock -------+-----+--------+----------+---------- 4 | 0 | 101285 | 0 | 1 4 | 2 | 101285 | 0 | 1 4 | 4 | 101285 | 1 | 1 5 | 2 | 101285 | 0 | 1 5 | 0 | 101285 | 0 | 1 5 | 1 | 101285 | 0 | 1 5 | 4 | 101285 | 1 | 1 ... (24 rows)