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.
STV_QUERY_METRICS
Berisi informasi metrik, seperti jumlah baris yang diproses, penggunaan CPU, dan penggunaan disk input/output, untuk kueri aktif yang berjalan dalam antrian kueri yang ditentukan pengguna (kelas layanan). Untuk melihat metrik untuk kueri yang telah selesai, lihat tabel STL_QUERY_METRICS sistem.
Metrik kueri diambil sampelnya pada interval satu detik. Akibatnya, proses yang berbeda dari kueri yang sama mungkin mengembalikan waktu yang sedikit berbeda. Selain itu, segmen kueri yang berjalan dalam waktu kurang dari 1 detik mungkin tidak direkam.
STV_QUERY_METRICS melacak dan menggabungkan metrik pada tingkat kueri, segmen, dan langkah. Untuk informasi tentang segmen kueri dan langkah-langkah, lihatPerencanaan kueri dan alur kerja eksekusi. Banyak metrik (sepertimax_rows,cpu_time, dan seterusnya) dijumlahkan di seluruh irisan node. Untuk informasi selengkapnya tentang irisan simpul, lihatArsitektur sistem gudang data.
Untuk menentukan tingkat di mana baris melaporkan metrik, periksa step_type kolom segment dan:
-
Jika keduanya
segmentdanstep_typeada-1, maka baris melaporkan metrik di tingkat kueri. -
Jika
segmenttidak-1danstep_typesedang-1, maka baris melaporkan metrik di tingkat segmen. -
Jika
step_typekeduanyasegmentdan tidak-1, maka baris melaporkan metrik di tingkat langkah.
STV_QUERY_METRICS dapat dilihat 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.
Beberapa atau semua data dalam tabel ini juga dapat ditemukan di tampilan pemantauan SYSSYS_QUERY_DETAIL. Data dalam tampilan pemantauan SYS diformat agar lebih mudah digunakan dan dipahami. Kami menyarankan Anda menggunakan tampilan pemantauan SYS untuk kueri Anda.
Kolom tabel
| Nama kolom | Jenis data | Deskripsi |
|---|---|---|
| Userid | integer | ID pengguna yang menjalankan kueri yang menghasilkan entri. |
| kelas_layanan | integer | ID untuk antrian kueri WLM (kelas layanan). Antrian kueri didefinisikan dalam konfigurasi WLM. Metrik dilaporkan hanya untuk antrian yang ditentukan pengguna. |
| kueri | integer | ID kueri. Kolom query dapat digunakan untuk bergabung dengan tabel dan tampilan sistem lainnya. |
| waktu mulai | timestamp | Waktu dalam UTC yang kueri mulai dijalankan, dengan 6 digit presisi untuk detik pecahan. Sebagai contoh: 2009-06-12 11:29:19.131358. |
| irisan | integer | Jumlah irisan untuk cluster. |
| segmen | integer | Nomor segmen. Kueri terdiri dari beberapa segmen, dan setiap segmen terdiri dari satu atau lebih langkah. Segmen query dapat berjalan secara paralel. Setiap segmen berjalan dalam satu proses. Jika nilai segmen adalah -1, nilai segmen metrik digulung ke tingkat kueri. |
| tipe_langkah | integer | Jenis langkah yang berjalan. Untuk deskripsi jenis langkah, lihatJenis langkah. |
| baris | bigint | Jumlah baris yang diproses dengan satu langkah. |
| max_baris | bigint | Jumlah maksimum output baris untuk satu langkah, digabungkan di semua irisan. |
| CPU_waktu | bigint | Waktu CPU yang digunakan, dalam mikrodetik. Pada tingkat segmen, total waktu CPU untuk segmen di semua irisan. Pada tingkat kueri, jumlah waktu CPU untuk kueri di semua irisan dan segmen. |
| maks_cpu_waktu_ | bigint | Waktu CPU maksimum yang digunakan, dalam mikrodetik. Pada tingkat segmen, waktu CPU maksimum yang digunakan oleh segmen di semua irisan. Pada tingkat kueri, waktu CPU maksimum yang digunakan oleh segmen kueri apa pun. |
| memblokir_baca | bigint | Jumlah blok 1 MB yang dibaca oleh kueri atau segmen. |
| max_blocks_read | bigint | Jumlah maksimum blok 1 MB yang dibaca oleh segmen, digabungkan di semua irisan. Pada tingkat segmen, jumlah maksimum blok 1 MB yang dibaca untuk segmen di semua irisan. Pada tingkat kueri, jumlah maksimum blok 1 MB dibaca oleh segmen kueri apa pun. |
| waktu_lari | bigint |
Total waktu berjalan, dijumlahkan di seluruh irisan. Waktu berjalan tidak termasuk waktu tunggu. Pada tingkat segmen, waktu berjalan untuk segmen, dijumlahkan di semua irisan. Pada tingkat kueri, waktu berjalan untuk kueri dijumlahkan di semua irisan dan segmen. Karena nilai ini adalah jumlah, waktu berjalan tidak terkait dengan waktu eksekusi kueri. |
| waktu_lari maksimal | bigint | Waktu maksimum yang telah berlalu untuk segmen, dalam mikrodetik. Pada tingkat segmen, waktu proses maksimum untuk segmen di semua irisan. Pada tingkat kueri, waktu berjalan maksimum untuk segmen kueri apa pun. |
| max_blocks_to_disk | bigint | Jumlah maksimum ruang disk yang digunakan untuk menulis hasil perantara, dalam blok 1 MB. Pada tingkat segmen, jumlah maksimum ruang disk yang digunakan oleh segmen di semua irisan. Pada tingkat kueri, jumlah maksimum ruang disk yang digunakan oleh segmen kueri apa pun. |
| memblokir_ke_disk | bigint | Jumlah ruang disk yang digunakan oleh kueri atau segmen untuk menulis hasil perantara, dalam blok 1 MB. |
| langkah | integer | Langkah kueri yang berjalan. |
| maksimum_kueri_scan_ukuran | bigint | Ukuran maksimum data yang dipindai oleh kueri, dalam MB. Pada tingkat segmen, ukuran maksimum data yang dipindai oleh segmen di semua irisan. Pada tingkat kueri, ukuran maksimum data yang dipindai oleh segmen kueri apa pun. |
| kueri_scan_ukuran | bigint | Ukuran data yang dipindai oleh kueri, dalam MB. |
| Query_Prioritas | integer | Prioritas kueri. Nilai yang mungkin adalah -10,1,2,3,, dan4, yang -1 berarti bahwa prioritas kueri tidak didukung. |
| Query_Queue_Time | bigint | Jumlah waktu dalam mikrodetik saat kueri diantri. |
Jenis langkah
Tabel berikut mencantumkan jenis langkah yang relevan dengan pengguna database. Tabel tidak mencantumkan jenis langkah yang hanya untuk penggunaan internal. Jika tipe langkah adalah -1, metrik tidak dilaporkan pada tingkat langkah.
| Jenis langkah | Deskripsi |
|---|---|
| 1 | Pindai tabel |
| 2 | Sisipkan baris |
| 3 | Baris agregat |
| 6 | Urutkan langkah |
| 7 | Menggabungkan langkah |
| 8 | Langkah distribusi |
| 9 | Langkah distribusi siaran |
| 10 | Bergabunglah dengan hash |
| 11 | Gabungkan bergabung |
| 12 | Simpan langkah |
| 14 | Hash |
| 15 | Gabung loop bersarang |
| 16 | Bidang dan ekspresi proyek |
| 17 | Batasi jumlah baris yang dikembalikan |
| 18 | Unik |
| 20 | Hapus baris |
| 26 | Batasi jumlah baris yang diurutkan yang dikembalikan |
| 29 | Hitung fungsi jendela |
| 32 | UDF |
| 33 | Unik |
| 37 | Kembalikan baris dari node pemimpin ke klien |
| 38 | Kembalikan baris dari node komputasi ke node pemimpin |
| 40 | Pemindaian spektrum. |
Contoh kueri
Untuk menemukan kueri aktif dengan waktu CPU tinggi (lebih dari 1.000 detik), jalankan kueri berikut.
select query, cpu_time / 1000000 as cpu_seconds from stv_query_metrics where segment = -1 and cpu_time > 1000000000 order by cpu_time; query | cpu_seconds ------+------------ 25775 | 9540
Untuk menemukan kueri aktif dengan penggabungan loop bersarang yang mengembalikan lebih dari satu juta baris, jalankan kueri berikut.
select query, rows from stv_query_metrics where step_type = 15 and rows > 1000000 order by rows; query | rows ------+----------- 25775 | 1580225854
Untuk menemukan kueri aktif yang telah berjalan selama lebih dari 60 detik dan telah menggunakan kurang dari 10 detik waktu CPU, jalankan kueri berikut.
select query, run_time/1000000 as run_time_seconds from stv_query_metrics where segment = -1 and run_time > 60000000 and cpu_time < 10000000; query | run_time_seconds ------+----------------- 25775 | 114