Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Hapus / potong ORA

Menghapus record dalam batch dapat dilakukan dalam PL/SQL loop, tetapi umumnya dianggap praktik yang buruk karena seluruh penghapusan biasanya dianggap sebagai satu transaksi; dan itu tidak dapat dilakukan dari dalam file kontrol SQL*Loader. DBA Anda harus mengukur UNDO ruang untuk mengakomodasi pekerjaan yang perlu Anda lakukan.

Jika Anda menghapus seluruh tabel, Anda hampir pasti akan lebih baik memotongnya, baik di file kontrol :

options(skip=1,load=250000,errors=0,ROWS=30000,BINDSIZE=10485760)
load data
infile 'G:1.csv' "str '^_^'"
truncate
into table IMPORT_ABC
...

Atau sebagai truncate yang terpisah pernyataan di SQL*Plus/SQL Developer/beberapa klien lain sebelum Anda memulai pemuatan:

truncate table import_abc;

Kerugiannya adalah tabel Anda akan tampak kosong bagi pengguna lain saat baris baru sedang dimuat, tetapi jika itu adalah area impor khusus (menebak dari namanya) itu mungkin tidak masalah.

Jika UNDO benar-benar kecil maka Anda mungkin harus menjalankan banyak beban, dalam hal ini - mungkin jelas - Anda perlu memastikan bahwa Anda hanya memiliki truncate di file kontrol untuk yang pertama (atau gunakan truncate yang terpisah pernyataan), dan memiliki append sebagai gantinya di file kontrol berikutnya seperti yang Anda catat di komentar.

Anda mungkin juga ingin mempertimbangkan tabel eksternal jika Anda menggunakan data ini sebagai basis untuk mengisi data lain, karena tidak ada UNDO overhead untuk mengganti sumber data eksternal. Anda mungkin perlu berbicara dengan DBA Anda tentang pengaturannya dan memberi Anda izin direktori yang diperlukan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konversi PANJANG ke varchar di Oracle

  2. Indeks Oracle dan jenis indeks di Oracle dengan contoh

  3. Masalah menggunakan/menampilkan karakter khusus dari Oracle db di .Net app

  4. Buat tabel nama dinamis dengan Pernyataan yang Disiapkan di java

  5. Oracle To_Char berfungsi V dalam format string