View a markdown version of this page

STL_SCAN - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

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

STL_SCAN

Menganalisis langkah-langkah pemindaian tabel untuk kueri. Nomor langkah untuk baris dalam tabel ini selalu 0 karena pemindaian adalah langkah pertama dalam segmen.

STL_SCAN terlihat oleh semua pengguna. Pengguna super dapat melihat semua baris; pengguna biasa hanya dapat melihat data mereka sendiri. Untuk informasi selengkapnya, lihat Visibilitas data dalam tabel dan tampilan sistem.

catatan

STL_SCAN hanya berisi kueri yang dijalankan pada cluster utama yang disediakan. Itu tidak berisi kueri yang dijalankan pada cluster penskalaan konkurensi atau pada ruang nama tanpa server. Untuk mengakses rencana penjelasan untuk kueri yang dijalankan pada klaster utama, cluster penskalaan konkurensi, dan ruang nama tanpa server, sebaiknya gunakan tampilan pemantauan SYS. SYS_QUERY_DETAIL Data dalam tampilan pemantauan SYS diformat agar lebih mudah digunakan dan dipahami.

Kolom tabel

Nama kolom Jenis data Deskripsi
Userid integer ID pengguna yang membuat entri.
kueri integer ID kueri. Kolom query dapat digunakan untuk bergabung dengan tabel dan tampilan sistem lainnya.
mengiris integer Nomor yang mengidentifikasi irisan tempat kueri berjalan.
segmen integer Nomor yang mengidentifikasi segmen kueri.
langkah integer Langkah kueri yang berjalan.
waktu mulai timestamp Waktu dalam UTC saat kueri dimulai. Total waktu termasuk antrian dan eksekusi. dengan 6 digit presisi untuk detik pecahan. Sebagai contoh: 2009-06-12 11:29:19.131358.
waktu akhir timestamp Waktu dalam UTC saat kueri selesai. Total waktu termasuk antrian dan eksekusi. dengan 6 digit presisi untuk detik pecahan. Sebagai contoh: 2009-06-12 11:29:19.131358.
tasknum integer Jumlah proses tugas kueri yang ditugaskan untuk menjalankan langkah.
baris bigint Jumlah total baris yang diproses.
byte bigint Ukuran, dalam byte, dari semua baris keluaran untuk langkah tersebut.
mengambil bigint Informasi ini hanya untuk penggunaan internal.
jenis integer ID jenis pemindaian. Untuk daftar nilai yang valid, lihat tabel berikut.
tbl integer ID tabel.
is_rrscan karakter (1) Jika true (t), menunjukkan bahwa pemindaian terbatas rentang digunakan pada langkah tersebut.
is_tertunda_scan karakter (1) Informasi ini hanya untuk penggunaan internal.
baris pra_filter bigint Untuk pemindaian tabel permanen, jumlah total baris yang dipancarkan sebelum memfilter baris yang ditandai untuk dihapus (baris hantu) dan sebelum menerapkan filter kueri yang ditentukan pengguna.
baris pra_filter_pengguna bigint Untuk pemindaian tabel permanen, jumlah baris yang diproses setelah memfilter baris ditandai untuk dihapus (baris hantu) tetapi sebelum menerapkan filter kueri yang ditentukan pengguna.
Perm_nama_tabel_ karakter (136) Untuk pemindaian tabel permanen, nama tabel dipindai.
is_rlf_scan karakter (1) Jika true (t), menunjukkan bahwa pemfilteran tingkat baris digunakan pada langkah tersebut.
is_rlf_scan_reason integer Informasi ini hanya untuk penggunaan internal.
nom_em_blok integer Informasi ini hanya untuk penggunaan internal.
checksum bigint Informasi ini hanya untuk penggunaan internal.
penyaringan runtime_ karakter (1) Jika true (t), menunjukkan bahwa filter runtime diterapkan.
memindai_wilayah integer Informasi ini hanya untuk penggunaan internal.
nom_sortkey_as_predikat integer Informasi ini hanya untuk penggunaan internal.
row_fetcher_state integer Informasi ini hanya untuk penggunaan internal.
rentangan_pemindaian yang dikonsumsi bigint Informasi ini hanya untuk penggunaan internal.
pekerjaan_mencuri_alasan_kerja bigint Informasi ini hanya untuk penggunaan internal.
is_divektorisasi_scan karakter (1) Informasi ini hanya untuk penggunaan internal.
alasan_pemindaian_divektorisasi integer Informasi ini hanya untuk penggunaan internal.
row_fetcher_reason bigint Informasi ini hanya untuk penggunaan internal.
topology_signature bigint Informasi ini hanya untuk penggunaan internal.
gunakan_tpm_partisi karakter (1) Informasi ini hanya untuk penggunaan internal.
is_rrscan_expr karakter (1) Informasi ini hanya untuk penggunaan internal.
memindai_mega_nilai-nilai karakter (1) Informasi ini hanya untuk penggunaan internal. Informasi ini menunjukkan apakah langkah pemindaian yang diberikan telah memindai nilai yang besar. Nilai besar akan disimpan dalam beberapa blok. Ukuran blok adalah 1 MB secara default, nilai besar lebih besar dari 1 MB dalam pengaturan default.

Jenis pemindaian

Ketik ID Deskripsi
1 Data dari jaringan.
2 Tabel pengguna permanen dalam memori bersama terkompresi.
3 Tabel baris sementara.
21 Muat file dari Amazon S3.
22 Muat tabel dari Amazon DynamoDB.
23 Muat data dari koneksi SSH jarak jauh.
24 Muat data dari cluster jarak jauh (wilayah yang diurutkan). Ini digunakan untuk mengubah ukuran.
25 Muat data dari cluster jarak jauh (wilayah yang tidak disortir). Ini digunakan untuk mengubah ukuran.
28 Baca data dari tampilan deret waktu dengan UNION ALL pada beberapa tabel.
29 Baca data dari tabel eksternal Amazon S3.
30 Baca informasi partisi dari tabel eksternal Amazon S3.
33 Membaca data dari tabel Postgres jarak jauh.
36 Membaca data dari tabel MySQL jarak jauh.
37 Membaca data dari aliran Kinesis jarak jauh.

Catatan penggunaan

Idealnya rows harus relatif dekat denganrows_pre_filter. Perbedaan besar antara rows dan rows_pre_filter merupakan indikasi bahwa mesin eksekusi memindai baris yang kemudian dibuang, yang tidak efisien. Perbedaan antara rows_pre_filter dan rows_pre_user_filter adalah jumlah baris hantu dalam pemindaian. Jalankan VACUUM untuk menghapus baris yang ditandai untuk dihapus. Perbedaan antara rows dan rows_pre_user_filter adalah jumlah baris yang difilter oleh kueri. Jika banyak baris dibuang oleh filter pengguna, tinjau kolom pengurutan pilihan Anda atau, jika ini karena wilayah besar yang tidak disortir, jalankan penyedot debu.

Kueri Sampel

Contoh berikut menunjukkan bahwa rows_pre_filter lebih besar daripada rows_pre_user_filter karena tabel telah menghapus baris yang belum disedot (baris hantu).

SELECT query, slice, segment,step,rows, rows_pre_filter, rows_pre_user_filter from stl_scan where query = pg_last_query_id(); query | slice | segment | step | rows | rows_pre_filter | rows_pre_user_filter -------+--------+---------+------+-------+-----------------+---------------------- 42915 | 0 | 0 | 0 | 43159 | 86318 | 43159 42915 | 0 | 1 | 0 | 1 | 0 | 0 42915 | 1 | 0 | 0 | 43091 | 86182 | 43091 42915 | 1 | 1 | 0 | 1 | 0 | 0 42915 | 2 | 0 | 0 | 42778 | 85556 | 42778 42915 | 2 | 1 | 0 | 1 | 0 | 0 42915 | 3 | 0 | 0 | 43428 | 86856 | 43428 42915 | 3 | 1 | 0 | 1 | 0 | 0 42915 | 10000 | 2 | 0 | 4 | 0 | 0 (9 rows)