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.
Meninjau langkah-langkah rencana kueri
Anda dapat melihat langkah-langkah dalam rencana kueri dengan menjalankan perintah EXPLAIN. Contoh berikut menunjukkan query SQL dan menjelaskan output. Membaca rencana kueri dari bawah ke atas, Anda dapat melihat setiap operasi logis yang digunakan untuk melakukan kueri. Untuk informasi selengkapnya, lihat Membuat dan menafsirkan rencana kueri.
explain select eventname, sum(pricepaid) from sales, event where sales.eventid = event.eventid group by eventname order by 2 desc;
XN Merge (cost=1002815366604.92..1002815366606.36 rows=576 width=27) Merge Key: sum(sales.pricepaid) -> XN Network (cost=1002815366604.92..1002815366606.36 rows=576 width=27) Send to leader -> XN Sort (cost=1002815366604.92..1002815366606.36 rows=576 width=27) Sort Key: sum(sales.pricepaid) -> XN HashAggregate (cost=2815366577.07..2815366578.51 rows=576 width=27) -> XN Hash Join DS_BCAST_INNER (cost=109.98..2815365714.80 rows=172456 width=27) Hash Cond: ("outer".eventid = "inner".eventid) -> XN Seq Scan on sales (cost=0.00..1724.56 rows=172456 width=14) -> XN Hash (cost=87.98..87.98 rows=8798 width=21) -> XN Seq Scan on event (cost=0.00..87.98 rows=8798 width=21)
Sebagai bagian dari pembuatan rencana kueri, pengoptimal kueri memecah rencana menjadi aliran, segmen, dan langkah-langkah. Pengoptimal kueri memecah rencana untuk mempersiapkan pendistribusian data dan beban kerja kueri ke node komputasi. Untuk informasi selengkapnya tentang aliran, segmen, dan langkah, lihatPerencanaan kueri dan alur kerja pelaksanaan.
Ilustrasi berikut menunjukkan kueri sebelumnya dan rencana kueri terkait. Ini menampilkan bagaimana operasi kueri yang terlibat dipetakan ke langkah-langkah yang digunakan Amazon Redshift untuk menghasilkan kode yang dikompilasi untuk irisan simpul komputasi. Setiap operasi rencana kueri memetakan ke beberapa langkah dalam segmen, dan terkadang ke beberapa segmen dalam aliran.
Dalam ilustrasi ini, pengoptimal kueri menjalankan rencana kueri sebagai berikut:
Di
Stream 0, kueri berjalanSegment 0dengan operasi pemindaian berurutan untuk memindaieventstabel. Kueri berlanjutSegment 1dengan operasi hash untuk membuat tabel hash untuk tabel bagian dalam di join.Di
Stream 1, kueri berjalanSegment 2dengan operasi pemindaian berurutan untuk memindaisalestabel. Ini berlanjutSegment 2dengan gabungan hash untuk bergabung dengan tabel di mana kolom gabungan bukan kunci distribusi dan kunci pengurutan. Sekali lagi dilSegment 2anjutkan dengan agregat hash untuk mengumpulkan hasil. Kemudian query berjalanSegment 3dengan operasi agregat hash untuk melakukan fungsi agregat yang dikelompokkan yang tidak disortir, dan operasi pengurutan untuk mengevaluasi klausa ORDER BY dan operasi pengurutan lainnya.Di
Stream 2, kueri menjalankan operasi jaringan diSegment 4danSegment 5mengirim hasil perantara ke node pemimpin untuk diproses lebih lanjut.
Segmen terakhir dari kueri mengembalikan data. Jika set pengembalian dikumpulkan atau diurutkan, node komputasi masing-masing mengirimkan bagian hasil perantara mereka ke node pemimpin. Node pemimpin kemudian menggabungkan data sehingga hasil akhir dapat dikirim kembali ke klien yang meminta.
Untuk informasi selengkapnya tentang operator EXPLAIN, lihatEXPLAIN.