Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara paling efisien untuk melakukan SQL 'INSERT IF NOT EXISTS'

insert ignore adalah metode yang lebih baik, karena beberapa alasan.

Dalam hal kinerja, hanya satu kueri yang dikompilasi dan dieksekusi, bukan dua. Ini menghemat biaya pemindahan barang masuk dan keluar dari database.

Dalam hal pemeliharaan, hanya memiliki satu kueri lebih dapat dipertahankan, karena logikanya ada di satu tempat. Jika Anda menambahkan where klausa, misalnya, Anda kemungkinan besar akan melewatkan penambahannya dalam dua kueri terpisah.

Dalam hal akurasi, hanya satu kueri yang tidak memiliki (atau setidaknya lebih sedikit) peluang untuk kondisi balapan. Jika sebuah baris disisipkan di antara select dan insert , maka Anda masih akan mendapatkan kesalahan.

Namun, lebih baik daripada insert ignore adalah insert . . . on duplicate key update . Yang terakhir hanya menghindari kesalahan untuk masalah duplikasi. insert ignore mungkin mengabaikan kesalahan yang sebenarnya Anda pedulikan.

Omong-omong, Anda harus memeriksa kesalahan dari pernyataan itu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cari teks di bidang di setiap tabel database MySQL

  2. Masukkan catatan yang hilang dari satu tabel ke tabel lain menggunakan mysql

  3. Terjebak dengan Akses Ditolak untuk pengguna 'root'@'localhost' - Terminal, Mac

  4. Cara Menonaktifkan Mode Ketat MySQL

  5. Bagaimana cara menghubungkan satu tabel ke banyak tabel yang berbeda?