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

Teman dari teman di PHP/MySQL?

Jawabannya adalah bahwa mereka tidak melakukan pemilihan pada tabel teman, mereka kemungkinan besar menggunakan tabel berita-acara yang tidak dinormalisasi. Kami menerapkan umpan berita yang mirip dengan Facebook di DoInk.com, berikut cara kami melakukannya:

Ada gagasan tentang "NewsEvent" yang memiliki tipe, inisiator (id pengguna) dan pengguna target (juga id pengguna). (Anda juga dapat memiliki kolom tambahan untuk properti lain yang relevan dengan acara tersebut, atau bergabung dengan mereka)

Saat pengguna memposting sesuatu di dinding pengguna lain, kami membuat acara seperti ini:

INSERT INTO events VALUES (wall_post_event, user1, user1)

Saat melihat profil pengguna1, Anda akan memilih untuk semua peristiwa di mana pengguna1 adalah inisiator atau target. Begitulah cara Anda menampilkan umpan profil. (Anda bisa mendapatkan acara mewah dan menyaring tergantung pada model privasi Anda. Anda dapat mempertimbangkan untuk melakukan ini di memori untuk alasan kinerja)

Contoh:

SELECT * FROM events WHERE initiator = user1 or target = user1 //to see their profile feed

SELECT * FROM events WHERE initiator IN (your set of friend ids) //to see your newsfeed

Saat Anda ingin melihat umpan berita untuk semua acara yang terkait dengan teman Anda, Anda dapat melakukan kueri untuk memilih semua acara di mana inisiatornya ada di kumpulan teman Anda.

Hindari implementasi dengan sub-pilihan, tergantung pada kerumitannya, sub-pilihan tidak akan diskalakan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Seberapa cepat MyISAM dibandingkan dengan InnoDB?

  2. Pulihkan Kata Sandi root MySQL

  3. doktrin2 dan group_concat

  4. Hasil Grup Concat Terpotong

  5. PHP - MySQL - Hapus Baris