java - 唯一约束和程序查询是否存在的优缺点?
PHP中文网
PHP中文网 2017-04-18 10:03:43
0
3
343

我想要保持数据库记录的不重复,现在有两种方案,一种是给这一个(或多个)字段添加唯一性约束,一种是程序先去查询数据库是否存在给个字段值的记录,再决定是否插入?请问这两种方式该如何抉择?有更好的方式么?

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(3)
巴扎黑

Bergantung pada program untuk memastikan keunikan tidak boleh dipercayai, kerana dalam keadaan konkurensi yang tinggi, dua langkah berikut akan bertindih, mengakibatkan sisipan berulang:

  1. Semak sama ada terdapat rekod dalam pangkalan data

  2. Jika tidak, masukkan rekod

小葫芦

Adalah lebih baik untuk memilih kekangan unik:

  • Permudahkan logik aplikasi.

  • Apabila mewujudkan kekangan unik, sistem biasanya akan mencipta indeks secara automatik untuk memastikan keunikan sambil meningkatkan prestasi pertanyaan. (Dokumentasi PostgreSQL)

Menambahkan kekangan unik akan secara automatik mencipta B-tree yang unik
indeks pada lajur atau kumpulan lajur yang disenaraikan dalam kekangan.

伊谢尔伦

Penulis harus memahami apa tujuan pangkalan data Sistem pangkalan data dibangunkan dari sistem fail Jika anda mengikuti pilihan kedua, anda boleh menyimpannya secara terus sebagai fail. Pangkalan data bukan hanya SQL mudah Sebagai DBMS, ia juga menyediakan banyak fungsi lain, membolehkan anda menumpukan perhatian pada menyelesaikan masalah aplikasi sambil mengoptimumkan akses asas sistem.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!