Jauh lebih baik untuk menyisipkan beberapa ratus baris sekaligus, menggunakan tabel PL/SQL dan FORALL untuk mengikat ke pernyataan penyisipan. Untuk detail tentang ini, lihat di sini .
Juga berhati-hatilah dengan cara Anda membuat tabel PL/SQL. Jika memungkinkan, lebih baik lakukan semua transformasi Anda secara langsung di SQL menggunakan "INSERT INTO t1 SELECT ..." karena melakukan operasi baris demi baris di PL/SQL masih akan lebih lambat daripada SQL.
Dalam kedua kasus tersebut, Anda juga dapat menggunakan penyisipan jalur langsung dengan menggunakan INSERT /*+APPEND*/
, yang pada dasarnya melewati cache DB dan secara langsung mengalokasikan dan menulis blok baru ke file data. Ini juga dapat mengurangi jumlah logging, tergantung bagaimana Anda menggunakannya. Ini juga memiliki beberapa implikasi, jadi harap baca panduan bagus
pertama.
Terakhir, jika Anda memotong dan membangun kembali tabel, mungkin ada baiknya untuk terlebih dahulu menjatuhkan (atau menandai tidak dapat digunakan) dan kemudian membangun kembali indeks.