STL_JELASKAN - Amazon Redshift

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

STL_JELASKAN

Menampilkan rencana EXPLOW untuk kueri yang telah dikirimkan untuk dieksekusi.

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

catatan

STL_EXPLOW hanya berisi kueri yang dijalankan pada cluster utama. Itu tidak berisi kueri yang dijalankan pada cluster penskalaan konkurensi. Untuk mengakses kueri yang dijalankan pada kluster penskalaan utama dan konkurensi, 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 kueri dapat digunakan untuk bergabung dengan tabel dan tampilan sistem lainnya.
nodeid integer Rencana node identifier, di mana node memetakan ke satu atau beberapa langkah dalam pelaksanaan query.
orang tua integer Rencanakan pengidentifikasi node untuk node induk. Sebuah node induk memiliki beberapa jumlah node anak. Misalnya, gabungan gabungan adalah induk dari pemindaian pada tabel yang digabungkan.
plannode karakter (400) Teks simpul dari output EXPLOW. Node rencana yang mengacu pada eksekusi pada node komputasi diawali dengan output XN EXPLOW.
info karakter (400) Kualifikasi dan filter informasi untuk node rencana. Misalnya, kondisi gabungan dan pembatasan klausa WHERE disertakan dalam kolom ini.

Kueri Sampel

Pertimbangkan output EXPLORE berikut untuk kueri gabungan agregat:

explain select avg(datediff(day, listtime, saletime)) as avgwait from sales, listing where sales.listid = listing.listid; QUERY PLAN ------------------------------------------------------------------------------ XN Aggregate (cost=6350.30..6350.31 rows=1 width=16) -> XN Hash Join DS_DIST_NONE (cost=47.08..6340.89 rows=3766 width=16) Hash Cond: ("outer".listid = "inner".listid) -> XN Seq Scan on listing (cost=0.00..1924.97 rows=192497 width=12) -> XN Hash (cost=37.66..37.66 rows=3766 width=12) -> XN Seq Scan on sales (cost=0.00..37.66 rows=3766 width=12) (6 rows)

Jika Anda menjalankan kueri ini dan ID kuerinya adalah 10, Anda dapat menggunakan tabel STL_EXPLOW untuk melihat jenis informasi yang sama yang dikembalikan oleh perintah EXPLORE:

select query,nodeid,parentid,substring(plannode from 1 for 30), substring(info from 1 for 20) from stl_explain where query=10 order by 1,2; query| nodeid |parentid| substring | substring -----+--------+--------+--------------------------------+------------------- 10 | 1 | 0 |XN Aggregate (cost=6717.61..6 | 10 | 2 | 1 | -> XN Merge Join DS_DIST_NO | Merge Cond:("outer" 10 | 3 | 2 | -> XN Seq Scan on lis | 10 | 4 | 2 | -> XN Seq Scan on sal | (4 rows)

Pertimbangkan kueri berikut:

select event.eventid, sum(pricepaid) from event, sales where event.eventid=sales.eventid group by event.eventid order by 2 desc; eventid | sum --------+---------- 289 | 51846.00 7895 | 51049.00 1602 | 50301.00 851 | 49956.00 7315 | 49823.00 ...

Jika ID kueri ini adalah 15, kueri tampilan sistem berikut mengembalikan node rencana yang telah selesai. Dalam hal ini, urutan node dibalik untuk menunjukkan urutan eksekusi yang sebenarnya:

select query,nodeid,parentid,substring(plannode from 1 for 56) from stl_explain where query=15 order by 1, 2 desc; query|nodeid|parentid| substring -----+------+--------+-------------------------------------------------------- 15 | 8 | 7 | -> XN Seq Scan on eve 15 | 7 | 5 | -> XN Hash(cost=87.98..87.9 15 | 6 | 5 | -> XN Seq Scan on sales(cos 15 | 5 | 4 | -> XN Hash Join DS_DIST_OUTER(cos 15 | 4 | 3 | -> XN HashAggregate(cost=862286577.07.. 15 | 3 | 2 | -> XN Sort(cost=1000862287175.47..10008622871 15 | 2 | 1 | -> XN Network(cost=1000862287175.47..1000862287197. 15 | 1 | 0 |XN Merge(cost=1000862287175.47..1000862287197.46 rows=87 (8 rows)

Kueri berikut mengambil ID kueri untuk setiap rencana kueri yang berisi fungsi jendela:

select query, trim(plannode) from stl_explain where plannode like '%Window%'; query| btrim -----+------------------------------------------------------------------------ 26 | -> XN Window(cost=1000985348268.57..1000985351256.98 rows=170 width=33) 27 | -> XN Window(cost=1000985348268.57..1000985351256.98 rows=170 width=33) (2 rows)