Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
MEMPERSIAPKAN
Siapkan pernyataan untuk dieksekusi.
PREPARE membuat pernyataan yang disiapkan. Ketika pernyataan PREPARE dijalankan, pernyataan yang ditentukan (SELECT, INSERT, UPDATE, atau DELETE) diuraikan, 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.
Sintaks
PREPARE plan_name [ (datatype [, ...] ) ] AS statement
Parameter
- plan_nama
-
Nama sewenang-wenang yang diberikan untuk pernyataan yang disiapkan khusus ini. Ini harus unik dalam satu sesi dan kemudian 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.
- pernyataan
-
Setiap pernyataan SELECT, INSERT, UPDATE, atau DELETE.
Catatan penggunaan
Pernyataan yang disiapkan dapat mengambil parameter: nilai yang diganti ke dalam pernyataan saat 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,... 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 keunggulan 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 pernyataan EXECUTE tertentu, gunakan perintah. EXPLAIN
Untuk informasi selengkapnya tentang perencanaan kueri dan statistik yang dikumpulkan oleh Amazon Redshift untuk pengoptimalan kueri, lihat perintah. MENGANALISA
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;