Gunakan unique constraint
. Coba masukkan/perbarui catatan dan tangkap pengecualian yang dilemparkan ketika batasan unik dilanggar. Ini adalah satu-satunya cara untuk menjamin alamat email yang unik; pemeriksaan pertama dan kemudian pembaruan rentan terhadap masalah konkurensi karena ada kemungkinan bahwa orang lain memperbarui catatannya ke nilai yang sama yang Anda coba atur tepat setelah Anda melakukan pemeriksaan dan sebelum memperbarui catatan.
Juga:pelajari cara menggunakan where
-klausa. Anda sekarang mengambil SEMUA catatan, mengulanginya, dll. yang membutuhkan banyak sumber daya yang tidak perlu, memakan waktu terlalu lama dan hanya pemborosan. Jika Anda ingin memeriksa catatan yang cocok dengan kriteria yang Anda tulis:
Select foo, bar from table where baz = 123
Dimana baz = 123
adalah kriteria Anda. Bayangkan apa yang akan terjadi bila Anda memiliki 500, atau bahkan 500.000 catatan dalam pengaturan Anda saat ini. Basis data akan mengeksekusi kueri Anda, mengumpulkan SEMUA baris dari basis data itu, mentransfernya ke aplikasi Anda tempat aplikasi Anda akan mengulangi semua 500.000 hasil. Atau Anda meminta DB untuk melakukan apa yang baik (dan mengapa Anda menggunakannya di tempat pertama):Berikan/semua catatan yang cocok dengan kriteria X. Anda akan mendapatkan 1 atau tidak ada catatan (diberikan keunikan kendala):1 =beberapa catatan cocok dengan kriteria Anda, tidak ada =tidak ada catatan. Menghemat transfer dan "secara manual harus melihat" 499.999 catatan;-)