View a markdown version of this page

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

MEMPERSIAPKAN

Siapkan pernyataan untuk eksekusi.

PREPARE membuat pernyataan yang disiapkan. Ketika pernyataan PREPARE dijalankan, pernyataan yang ditentukan (SELECT, INSERT, UPDATE, atau DELETE) diurai, ditulis ulang, dan direncanakan. Ketika perintah EXECUTE kemudian dikeluarkan untuk pernyataan yang disiapkan, Amazon Redshift dapat secara opsional merevisi rencana eksekusi kueri (untuk meningkatkan kinerja berdasarkan nilai parameter yang ditentukan) sebelum menjalankan pernyataan yang disiapkan.

Sintaksis

PREPARE plan_name [ (datatype [, ...] ) ] AS statement

Parameter

nama_rencana

Nama sewenang-wenang yang diberikan untuk pernyataan khusus yang disiapkan ini. Ini harus unik dalam satu sesi dan selanjutnya digunakan untuk menjalankan atau mengalokasikan pernyataan yang disiapkan sebelumnya.

tipe data

Tipe data parameter untuk pernyataan yang disiapkan. Untuk merujuk pada parameter dalam pernyataan yang disiapkan itu sendiri, gunakan $1, $2, dan seterusnya, hingga maksimum $32767.

pernyataan

Setiap pernyataan SELECT, INSERT, UPDATE, atau DELETE.

Catatan penggunaan

Pernyataan yang disiapkan dapat mengambil parameter: nilai yang diganti ke dalam pernyataan ketika dijalankan. Untuk memasukkan parameter dalam pernyataan yang disiapkan, berikan daftar tipe data dalam pernyataan PREPARE, dan, dalam pernyataan yang akan disiapkan sendiri, lihat parameter berdasarkan posisi menggunakan notasi $1, $2,... Jumlah parameter maksimum adalah 32767. Saat menjalankan pernyataan, tentukan nilai aktual untuk parameter ini dalam pernyataan EXECUTE. Untuk detail selengkapnya, lihat EXECUTE.

Pernyataan yang disiapkan hanya bertahan selama sesi saat ini. Ketika sesi berakhir, pernyataan yang disiapkan dibuang, sehingga harus dibuat ulang sebelum digunakan lagi. Ini juga berarti bahwa satu pernyataan yang disiapkan tidak dapat digunakan oleh beberapa klien database simultan; Namun, setiap klien dapat membuat pernyataan yang disiapkan sendiri untuk digunakan. Pernyataan yang disiapkan dapat dihapus secara manual menggunakan perintah DEALLOCATE.

Pernyataan yang disiapkan memiliki keuntungan kinerja terbesar ketika satu sesi digunakan untuk menjalankan sejumlah besar pernyataan serupa. Seperti disebutkan, untuk setiap eksekusi baru dari pernyataan yang disiapkan, Amazon Redshift dapat merevisi rencana eksekusi kueri untuk meningkatkan kinerja berdasarkan nilai parameter yang ditentukan. Untuk memeriksa rencana eksekusi kueri yang telah dipilih Amazon Redshift untuk setiap pernyataan EXECUTE tertentu, gunakan EXPLAIN perintah.

Untuk informasi selengkapnya tentang perencanaan kueri dan statistik yang dikumpulkan oleh Amazon Redshift untuk pengoptimalan kueri, lihat MENGANALISA perintah.

Contoh

Buat tabel sementara, siapkan pernyataan INSERT dan kemudian jalankan:

DROP TABLE IF EXISTS prep1; CREATE TABLE prep1 (c1 int, c2 char(20)); PREPARE prep_insert_plan (int, char) AS insert into prep1 values ($1, $2); EXECUTE prep_insert_plan (1, 'one'); EXECUTE prep_insert_plan (2, 'two'); EXECUTE prep_insert_plan (3, 'three'); DEALLOCATE prep_insert_plan;

Siapkan pernyataan SELECT dan kemudian jalankan:

PREPARE prep_select_plan (int) AS select * from prep1 where c1 = $1; EXECUTE prep_select_plan (2); EXECUTE prep_select_plan (3); DEALLOCATE prep_select_plan;

Lihat juga

DEALOKASI, EXECUTE