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

MYSQL:Pengguna - pengaturan tabel detail profil - praktik terbaik

Hal-hal yang perlu dipertimbangkan dengan pendekatan Anda

Menyimpan Profil Pengguna di Tabel Pengguna

  • Ini umumnya akan menjadi pendekatan tercepat dalam hal mendapatkan data profil, meskipun Anda mungkin memiliki banyak data yang berlebihan di sini (kolom yang mungkin tidak memiliki informasi apa pun di dalamnya).
  • Cepat (terutama jika Anda hanya menarik kolom yang Anda butuhkan dari db)
  • Data Terbuang
  • Lebih sulit untuk bekerja dengan / memelihara (bisa dibilang dengan antarmuka seperti PHPMyAdmin)

Menyimpan Profil Pengguna di Tabel User_Profile 1-1 hubungan dengan pengguna

  • Seharusnya masih cukup cepat dengan bergabung dan Anda dapat menghilangkan beberapa redundansi data jika profil pengguna tidak dibuat kecuali jika pengguna mengisinya.
  • Lebih mudah untuk bekerja dengan
  • Sedikit lebih lambat karena bergabung (atau kueri ke-2)

Menyimpan Profil Pengguna sebagai properti dan nilai dalam tabel

*yaitu. Tabel untuk menyimpan opsi yang memungkinkan, tabel untuk menyimpan user_id, option_id dan nilai*

  • Tidak ada data redundan yang disimpan, semua data relevan
  • Metode yang paling dinormalisasi
  • Lebih lambat untuk mengambil dan memperbarui data

Kesan saya adalah bahwa sebagian besar situs web menggunakan metode ke-2 dan menyimpan informasi profil di tabel kedua, biasanya sebagian besar situs web yang lebih besar melakukan denormalisasi basis data (twitter, facebook) untuk mencapai kinerja baca yang lebih baik dengan mengorbankan kinerja penulisan yang lebih lambat.

Saya akan berpikir bahwa menyimpan informasi profil di tabel kedua kemungkinan adalah cara yang harus dilakukan ketika Anda melihat 50.000 catatan. Untuk kinerja optimal, Anda ingin menyimpan data yang ditulis dengan sangat terpisah dari data yang banyak dibaca untuk memastikan cache dapat bekerja secara efektif.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menanyakan SKEMA INFORMASI MySQL:Mengapa? Bagaimana?

  2. angka acak di jawa

  3. Bagaimana mencegah kueri ini mencetak hasil yang sama dua kali?

  4. sertakan kelas Jfactory dalam file php eksternal, Joomla

  5. Hitung dengan kondisi JIKA dalam permintaan MySQL