View a markdown version of this page

SYS_QUERY_DETAIL - 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.

SYS_QUERY_DETAIL

Gunakan SYS_QUERY_DETAIL untuk melihat detail untuk kueri di berbagai tingkat metrik, dengan setiap baris mewakili detail tentang kueri WLM tertentu pada tingkat metrik tertentu. Tampilan ini berisi banyak jenis kueri seperti perintah DDL, DML, dan utilitas (misalnya, menyalin dan membongkar). Beberapa kolom mungkin tidak relevan tergantung pada jenis kueri. Misalnya, external_scanned_bytes tidak relevan dengan tabel internal.

SYS_QUERY_DETAIL 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

Untuk memverifikasi apakah transaksi yang berisi kueri yang dieksekusi berhasil dilakukan, Anda perlu melakukan operasi gabungan antara tabel sistem dan sys_transaction_history tabel. Contoh:

SELECT th.transaction_id, qd.query_id, th.status AS transaction_status FROM sys_query_detail qd LEFT JOIN sys_query_history qh ON qd.query_id = qh.query_id LEFT JOIN sys_transaction_history th on qh.transaction_id = th.transaction_id;

Kolom tabel

Nama kolom Jenis data Deskripsi
user_id integer Pengidentifikasi pengguna yang mengirimkan kueri.
Query_id bigint Pengidentifikasi kueri.
urutan kueri anak integer Urutan permintaan pengguna yang ditulis ulang, dimulai dengan 1.
Stream_id integer Pengidentifikasi aliran dari aliran kueri.
segmen_id integer Pengidentifikasi segmen dari segmen yang berjalan kueri.
Step_id integer Pengidentifikasi langkah dalam segmen.
nama_langkah text Nama langkah dalam segmen. Nilai yang mungkin adalah aggregatebroadcast,delete,distribute,hash,hashjoin,insert,limit,,merge,nestloop,parse,return,save,scan,sort,sortlimit,unique, danwindow.
tabel_id integer Pengidentifikasi tabel untuk pemindaian tabel permanen.
table_name karakter (136) Nama tabel langkah yang sedang dioperasikan.
is_rrscan karakter Nilai yang menunjukkan apakah suatu langkah adalah langkah pemindaian. True (t) menunjukkan bahwa pemindaian terbatas rentang digunakan.
waktu mulai timestamp Waktu ketika langkah query dimulai. Bidang ini dicatat pada tingkat segmen, terlepas dari nilai di metrics_level kolom.
akhir_waktu timestamp Waktu ketika langkah query selesai. Bidang ini dicatat pada tingkat segmen, terlepas dari nilai di metrics_level kolom.
durasi bigint Jumlah waktu (mikrodetik) yang dihabiskan untuk langkah. Bidang ini dicatat pada tingkat segmen, terlepas dari nilai di metrics_level kolom.
pemberitahuan text Deskripsi peristiwa peringatan.
input_byte bigint Byte input untuk langkah saat ini.
masukan_baris bigint Baris input untuk langkah saat ini.
output_byte bigint Byte keluaran untuk langkah saat ini.
keluaran_baris bigint Baris keluaran untuk langkah saat ini.
blokir_baca bigint Jumlah blok yang dibaca langkah.
blok_tulis bigint Jumlah blok yang ditulis langkah itu.
Lokal_baca_io bigint Jumlah blok yang dibaca dari cache disk lokal.
Jarak jauh_baca_io bigint Jumlah blok yang dibaca dari remote.
sumber text Jenis objek database yang dipindai. Kolom ini hanya memiliki nilai jika nilai step_name baris adalah. scan
kemiringan data integer Kemiringan distribusi baris keluaran di antara semua langkah. Ini adalah angka dalam kisaran 0% hingga 100%. Semakin besar jumlahnya, semakin tidak seimbang distribusinya.
kemiringan waktu integer Kemiringan distribusi waktu eksekusi di antara semua langkah. Ini adalah angka dalam kisaran 0% hingga 100%. Semakin besar jumlahnya, semakin tidak seimbang distribusinya.
adalah_aktif karakter Keadaan kueri pada tingkat langkah. Nilai yang mungkin adalah 't' yang menunjukkan langkah sedang berjalan secara aktif atau 'f' yang menunjukkan langkah selesai berjalan.
dipilled_block_local_disk bigint Jumlah blok tumpah ke disk lokal.
dipilled_block_remote_disk bigint Jumlah blok yang tumpah ke Amazon Simple Storage Service.
atribut langkah_langkah karakter (64) Berisi informasi tentang langkah terkait. Nilai yang mungkin untuk langkah pemindaian:multi-dimensional.
metrik_level karakter (64)

Tingkat metrik dari query. Kemungkinan nilainya adalah sebagai berikut:

  • Kueri anak

  • Streaming

  • Segment

  • Langkah

id_orangtua rencananya integer Pengidentifikasi node induk node rencana. Node induk dapat memiliki beberapa node anak. Misalnya, gabungan gabungan adalah simpul induk dari pemindaian pada tabel yang digabungkan.
plan_node_id integer Pengidentifikasi simpul rencana yang dipetakan ke satu atau lebih langkah dalam kueri.
Query_uuid karakter (36) Pengidentifikasi unik global (UUID) dari kueri.

Catatan penggunaan

SYS_QUERY_DETAIL dapat berisi metrik pada tingkat kueri langkah, steam, segmen, dan anak. Selain mereferensikan kolom metrics_level, Anda dapat melihat level metrik mana yang ditampilkan baris tertentu dengan mereferensikan bidang step_id, segment_id, dan stream_id sesuai dengan tabel berikut.

Tingkat metrik nilai stream_id nilai segment_id nilai step_id
kueri anak -1 -1 -1
aliran Nilai langkah yang valid -1 -1
segmen Nilai langkah yang valid Nilai langkah yang valid -1
langkah Nilai langkah yang valid Nilai langkah yang valid Nilai langkah yang valid

Kueri Sampel

Contoh berikut mengembalikan output dari SYS_QUERY_DETAIL.

Kueri berikut menunjukkan detail metadata kueri pada tingkat langkah, termasuk nama langkah, input_bytes, output_bytes, input_rows, output_rows.

SELECT query_id, child_query_sequence, stream_id, segment_id, step_id, trim(step_name) AS step_name, duration, input_bytes, output_bytes, input_rows, output_rows FROM sys_query_detail WHERE query_id IN (193929) ORDER BY query_id, stream_id, segment_id, step_id DESC;

Sampel keluaran.

query_id | child_query_sequence | stream_id | segment_id | step_id | step_name | duration | input_bytes | output_bytes | input_rows | output_rows ----------+----------------------+-----------+------------+---------+------------+-----------------+-------------+--------------+------------+------------- 193929 | 2 | 0 | 0 | 3 | hash | 37144 | 0 | 9350272 | 0 | 292196 193929 | 5 | 0 | 0 | 3 | hash | 9492 | 0 | 23360 | 0 | 1460 193929 | 1 | 0 | 0 | 3 | hash | 46809 | 0 | 9350272 | 0 | 292196 193929 | 4 | 0 | 0 | 2 | return | 7685 | 0 | 896 | 0 | 112 193929 | 1 | 0 | 0 | 2 | project | 46809 | 0 | 0 | 0 | 292196 193929 | 2 | 0 | 0 | 2 | project | 37144 | 0 | 0 | 0 | 292196 193929 | 5 | 0 | 0 | 2 | project | 9492 | 0 | 0 | 0 | 1460 193929 | 3 | 0 | 0 | 2 | return | 11033 | 0 | 14336 | 0 | 112 193929 | 2 | 0 | 0 | 1 | project | 37144 | 0 | 0 | 0 | 292196 193929 | 1 | 0 | 0 | 1 | project | 46809 | 0 | 0 | 0 | 292196 193929 | 5 | 0 | 0 | 1 | project | 9492 | 0 | 0 | 0 | 1460 193929 | 3 | 0 | 0 | 1 | aggregate | 11033 | 0 | 201488 | 0 | 14 193929 | 4 | 0 | 0 | 1 | aggregate | 7685 | 0 | 28784 | 0 | 14 193929 | 5 | 0 | 0 | 0 | scan | 9492 | 0 | 23360 | 292196 | 1460 193929 | 4 | 0 | 0 | 0 | scan | 7685 | 0 | 1344 | 112 | 112 193929 | 2 | 0 | 0 | 0 | scan | 37144 | 0 | 7304900 | 292196 | 292196 193929 | 3 | 0 | 0 | 0 | scan | 11033 | 0 | 13440 | 112 | 112 193929 | 1 | 0 | 0 | 0 | scan | 46809 | 0 | 7304900 | 292196 | 292196 193929 | 5 | 0 | 0 | -1 | | 9492 | 12288 | 0 | 0 | 0 193929 | 1 | 0 | 0 | -1 | | 46809 | 16384 | 0 | 0 | 0 193929 | 2 | 0 | 0 | -1 | | 37144 | 16384 | 0 | 0 | 0 193929 | 4 | 0 | 0 | -1 | | 7685 | 28672 | 0 | 0 | 0 193929 | 3 | 0 | 0 | -1 | | 11033 | 114688 | 0 | 0 | 0

Untuk melihat tabel dalam database Anda dalam urutan dari yang paling sering digunakan hingga yang paling jarang digunakan, gunakan contoh berikut. Ganti sample_data_dev dengan database Anda sendiri. Perhatikan bahwa kueri ini akan menghitung kueri mulai saat cluster Anda dibuat, tetapi data tampilan sistem Anda tidak disimpan ketika gudang data Anda kekurangan ruang.

SELECT table_name, COUNT (DISTINCT query_id) FROM SYS_QUERY_DETAIL WHERE table_name LIKE 'sample_data_dev%' GROUP BY table_name ORDER BY COUNT(*) DESC; +---------------------------------+-------+ | table_name | count | +---------------------------------+-------+ | sample_data_dev.tickit.venue | 4 | | sample_data_dev.myunload1.venue | 3 | | sample_data_dev.tickit.listing | 1 | | sample_data_dev.tickit.category | 1 | | sample_data_dev.tickit.users | 1 | | sample_data_dev.tickit.date | 1 | | sample_data_dev.tickit.sales | 1 | | sample_data_dev.tickit.event | 1 | +---------------------------------+-------+

Contoh berikut menunjukkan berbagai tingkat metrik untuk kueri WLM tunggal.

SELECT query_id, child_query_sequence, stream_id, segment_id, step_id, step_name, start_time, end_time, metrics_level FROM sys_query_detail WHERE query_id = 1553 AND step_id = -1 ORDER BY stream_id, segment_id, step_id; query_id | child_query_sequence | stream_id | segment_id | step_id | step_name | start_time | end_time | metrics_level ----------+----------------------+-----------+------------+---------+-----------+----------------------------+----------------------------+--------------- 1553 | 1 | -1 | -1 | -1 | | 2024-10-17 02:28:49.814721 | 2024-10-17 02:28:49.847838 | child query 1553 | 1 | 0 | -1 | -1 | | 2024-10-17 02:28:49.814721 | 2024-10-17 02:28:49.835609 | stream 1553 | 1 | 0 | 0 | -1 | | 2024-10-17 02:28:49.824677 | 2024-10-17 02:28:49.830372 | segment 1553 | 1 | 1 | -1 | -1 | | 2024-10-17 02:28:49.835624 | 2024-10-17 02:28:49.845773 | stream 1553 | 1 | 1 | 1 | -1 | | 2024-10-17 02:28:49.84088 | 2024-10-17 02:28:49.842388 | segment 1553 | 1 | 1 | 2 | -1 | | 2024-10-17 02:28:49.835926 | 2024-10-17 02:28:49.844396 | segment 1553 | 1 | 2 | -1 | -1 | | 2024-10-17 02:28:49.846949 | 2024-10-17 02:28:49.847838 | stream 1553 | 1 | 2 | 3 | -1 | | 2024-10-17 02:28:49.847013 | 2024-10-17 02:28:49.847485 | segment (8 rows)