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

Desain Basis Data:Daftar dan Verifikasi

Saya melihat ini dari sudut pandang yang berbeda.

Dalam situasi Anda, satu meja mungkin cukup baik. Tapi ada pertimbangan lain.

1) Volume. Di tabel kecil, pemfilteran pada bendera tidak akan memengaruhi kinerja secara signifikan. Dalam tabel besar (jutaan baris), Anda harus meletakkan bendera di file index. Menempatkan flag kardinalitas rendah dalam indeks tabel besar dapat menurunkan performa.

2) Cacat. Memiliki bendera di tabel mengharuskan hampir setiap kueri menggunakan bendera. Untuk sistem yang cukup besar, atau cukup kompleks, seseorang akan kehilangan bendera itu. Menentukan risiko bergantung pada biaya karena secara tidak sengaja memilih pengguna yang tidak diaktifkan.

Salah satu cara untuk mengurangi risiko adalah dengan menggunakan tampilan. Jika Anda menerapkan solusi dua tabel, gunakan tampilan (All_Users) menggunakan UNION ALL. Jika Anda menerapkan solusi satu tabel, buat tampilan hanya untuk pengguna yang diaktifkan dan gunakan tabel itu sebagai gantinya. Hanya fungsi pemeliharaan yang perlu memodifikasi tabel inti.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana menghapus duplikat dengan kondisi tertentu

  2. MySQL dan PHP Select Option dengan informasi dari database

  3. Transaksi MySQL dalam transaksi

  4. Menginstal versi paket tertentu dengan pip

  5. WHILE sintaks-kesalahan di MySQL