Kaedah pemasukan kelompok data yang cekap dalam pangkalan data Oracle
Terdapat banyak cara untuk memasukkan berbilang baris data ke dalam pangkalan data Oracle. Kaedah sisipan kelompok yang biasa digunakan dalam MySQL tidak disokong secara langsung dalam Oracle.
Gunakan INSERT ALL pernyataan
Dalam Oracle, anda boleh menggunakan pernyataan INSERT ALL
untuk sisipan kelompok. Pernyataan ini mengandungi berbilang klausa INTO
, setiap klausa mewakili baris data yang akan disisipkan. Pernyataan berakhir dengan SELECT 1 FROM DUAL
sebagai tanda tamat sisipan.
<code class="language-sql">INSERT ALL INTO t (col1, col2, col3) VALUES ('val1_1', 'val1_2', 'val1_3') INTO t (col1, col2, col3) VALUES ('val2_1', 'val2_2', 'val2_3') INTO t (col1, col2, col3) VALUES ('val3_1', 'val3_2', 'val3_3') . . . SELECT 1 FROM DUAL;</code>
Sintaks dipermudahkan Oracle 23c
Oracle 23c memperkenalkan sintaks sisipan pukal yang dipermudahkan yang menghapuskan keperluan untuk pernyataan INSERT ALL
. Berbilang baris data boleh disisipkan menggunakan senarai dipisahkan koma seperti ini:
<code class="language-sql">INSERT INTO t(col1, col2, col3) VALUES ('val1_1', 'val1_2', 'val1_3'), ('val2_1', 'val2_2', 'val2_3'), ('val3_1', 'val3_2', 'val3_3');</code>
Pertimbangan Prestasi
Untuk jumlah data yang besar, isu prestasi mesti dipertimbangkan. Sintaks INSERT baharu dalam Oracle 23c jauh lebih pantas daripada INSERT ALL
dan mempunyai prestasi yang setanding dengan kaedah UNION ALL
. Walau bagaimanapun, memasukkan lebih daripada kira-kira 1000 baris data pada satu masa menyebabkan masa penghuraian meningkat secara eksponen.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam Pangkalan Data Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!