Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam Pangkalan Data Oracle?

Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam Pangkalan Data Oracle?

Linda Hamilton
Linda Hamiltonasal
2025-01-22 18:21:13746semak imbas

How Can I Efficiently Insert Multiple Rows into an Oracle Database?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn