STV_QUERY_METRICS - Amazon Redshift

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, input/output, dan penggunaan disk, untuk kueri aktif yang berjalan dalam antrian kueri yang ditentukan pengguna (kelas layanan). Untuk melihat metrik 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 dan langkah kueri, lihatPerencanaan kueri dan alur kerja eksekusi. Banyak metrik (sepertimax_rows,cpu_time, dan sebagainya) dijumlahkan di seluruh irisan simpul. Untuk informasi selengkapnya tentang irisan simpul, lihatArsitektur sistem gudang data.

Untuk menentukan tingkat di mana baris melaporkan metrik, periksa segment dan step_type kolom:

  • Jika keduanya segment dan step_type sedang-1, maka baris melaporkan metrik pada tingkat kueri.

  • Jika segment tidak -1 dan step_type tidak-1, maka baris melaporkan metrik di tingkat segmen.

  • Jika step_type keduanya segment dan tidak-1, maka baris melaporkan metrik pada 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 SYS_QUERY_DETAIL pemantauan SYS. Data dalam tampilan pemantauan SYS diformat agar lebih mudah digunakan dan dipahami. Kami menyarankan Anda menggunakan tampilan pemantauan SYS untuk pertanyaan Anda.

Kolom tabel

Nama kolom Jenis data Deskripsi
userid integer ID pengguna yang menjalankan kueri yang menghasilkan entri.
service_class 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 kueri dapat digunakan untuk bergabung dengan tabel dan tampilan sistem lainnya.
waktu mulai timestamp Waktu di UTC kueri mulai dijalankan, dengan 6 digit presisi untuk detik pecahan. Misalnya: 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 kueri dapat berjalan secara paralel. Setiap segmen berjalan dalam satu proses. Jika nilai segmen -1, nilai segmen metrik digulung ke tingkat kueri.
tipe_step_ integer Jenis langkah yang berjalan. Untuk deskripsi jenis langkah, lihatJenis langkah.
baris bigint Jumlah baris diproses dengan satu langkah.
max_rows bigint Jumlah maksimum output baris untuk satu langkah, dikumpulkan di semua irisan.
cpu_waktu bigint Waktu CPU 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.
max_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 query, waktu CPU maksimum yang digunakan oleh setiap segmen query.
blocks_read bigint Jumlah blok 1 MB 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 dibaca untuk segmen di semua irisan. Pada tingkat kueri, jumlah maksimum blok 1 MB dibaca oleh segmen kueri apa pun.
run_time 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 proses untuk kueri dijumlahkan di semua irisan dan segmen. Karena nilai ini adalah jumlah, waktu berjalan tidak terkait dengan waktu eksekusi kueri.

max_run_time bigint Waktu maksimum yang telah berlalu untuk segmen, dalam mikrodetik. Pada tingkat segmen, waktu berjalan maksimum untuk segmen di semua irisan. Pada tingkat kueri, waktu berjalan maksimum untuk setiap segmen kueri.
max_blocks_to_disk bigint Jumlah maksimum ruang disk yang digunakan untuk menulis hasil antara, 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.
blocks_to_disk bigint Jumlah ruang disk yang digunakan oleh kueri atau segmen untuk menulis hasil antara, dalam blok 1 MB.
langkah integer Langkah kueri yang berjalan.
max_query_scan_size 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 dipindai oleh segmen kueri apa pun.
query_scan_size bigint Ukuran data yang dipindai oleh kueri, dalam MB.
query_priority integer Prioritas kueri. Nilai yang mungkin adalah -10,1,2,3,4, dan, where -1 berarti prioritas kueri tidak didukung.
query_queue_time bigint Jumlah waktu dalam mikrodetik kueri antri.

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 -1, metrik tidak dilaporkan pada tingkat langkah.

Jenis langkah Deskripsi
1 Pindai tabel
2 Sisipkan baris
3 Baris agregat
6 Urutkan langkah
7 Gabungkan langkah
8 Langkah distribusi
9 Langkah distribusi siaran
10 Hash bergabung
11 Gabung bergabung
12 Simpan langkah
14 Hash
15 Loop bersarang bergabung
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 gabungan loop bersarang yang menampilkan 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 waktu CPU kurang dari 10 detik, 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