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

php mysql - haruskah saya menambahkan nama kategori bidang ke tabel atau tidak?

Jika Anda mengukur milidetik dan IO disk sistem Anda tidak terlalu lambat, maka opsi 2 akan menghasilkan kinerja yang lebih baik. Tapi , kita berbicara tentang keuntungan yang dapat diabaikan dalam waktu eksekusi. Karena Anda sudah akan menanyakan DB untuk mendapatkan item berita, itu akan sangat dioptimalkan untuk hanya mendapatkan nama kategori pada saat yang bersamaan. Saya akan menambahkan tabel pemetaan category-name-id ke nama-kategori . Dan bergabunglah saat mendapatkan item berita.

Dari sudut pandang fleksibilitas dan sudut pandang menghilangkan sebanyak mungkin sumber kesalahan, saya juga akan mengikuti ide saya di atas. Karena itu menambah fleksibilitas ke sistem Anda dan menyimpan semua data Anda di satu tempat. Mengubah nama kategori akan memerlukan pengeditan satu kolom di database alih-alih mengedit file konfigurasi php atau, jika opsi 1 digunakan, memperbarui setiap catatan berita.

Jadi saran terbaik saya, tambahkan tabel dengan category-name-id ke nama-kategori pemetaan dan kemudian membuat item berita berisi id dari kategori tempat mereka berada.

Untuk kinerja, Anda kemudian dapat menyimpan data yang Anda ambil tentang kategori yang ada dan data lain dalam cache sehingga Anda tidak perlu melakukan polling DB untuk informasi itu setiap saat.

Contohnya. Anda bisa, daripada bergabung sama sekali, mendapatkan semua kategori dari tabel kategori yang saya jelaskan di atas. Cache di aplikasi dan hanya dapatkan setelah cache tidak valid. yaitu terjadi timeout atau data dalam db dimanipulasi.



  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 cara membuat fungsi yang mengembalikan id tertinggi?

  2. Hibernate tersedak pada baris yang hilang saat berurusan dengan database lama

  3. Cara membuat sql-mode=NO_ENGINE_SUBSTITUTION permanen di MySQL my.cnf

  4. #1075 - Definisi tabel salah; hanya boleh ada satu kolom otomatis dan itu harus didefinisikan sebagai kunci

  5. Transpose baris menjadi kolom di MySQL