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
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)