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

indeks unik mysql digunakan sebagai metode penanganan pengecualian di java

Saya katakan Anda tidak melakukan itu, karena dua alasan:

  • pesan kesalahan agak tidak jelas:ERROR 1062 (23000):Entri duplikat 'xxx' untuk kunci 1 . Apakah Anda selalu 100% yakin kunci mana yang 1?
  • mengunci Anda ke vendor database tertentu

Saya merasa lebih mudah untuk secara transaksional :

  • periksa keberadaan baris;
  • melempar pengecualian jika baris sudah ada;
  • masukkan baris baru.

Masalah kinerja :

Saya katakan ukur dua kali, potong sekali . Profil penggunaan untuk kasus penggunaan spesifik Anda. Di atas kepala saya, saya akan mengatakan bahwa kinerja tidak akan menjadi masalah kecuali untuk skenario penggunaan db yang berat.

Alasannya adalah setelah Anda melakukan SELECT atas baris tertentu, datanya akan ditempatkan di cache database dan segera digunakan untuk pemeriksaan penyisipan yang dilakukan pada indeks untuk INSERT penyataan. Juga perlu diingat bahwa akses ini didukung oleh indeks mengarah pada kesimpulan bahwa kinerja tidak akan menjadi masalah.

Tapi, seperti biasa, lakukan pengukuran.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Operasi subset MYSQL

  2. PHP/MySQL - Kesalahan sintaks SQL?

  3. Menyiapkan instance baru MySQL apa itu Kata Sandi Root Saat Ini?

  4. Batas waktu habis pgadmin Tidak dapat terhubung ke server

  5. SQL:hitung semua catatan dengan kemunculan berturut-turut dengan nilai yang sama untuk setiap set perangkat dan kembalikan hitungan tertinggi