2012-11-16 21 views
1

我正在構建一個Yii的私人社交網絡,該網站將在整個網站上發佈「評論」 - 在個人檔案,活動頁面,組線程等。後,他們將能夠選擇內容的可見性:在PHP/MySQL或PHP/NoSQL中建模隱私設置

  • 任何
  • 註冊用戶只有
  • 僅朋友
  • 自定義(朋友的具體名單)

我想弄清楚如何爲速度建模。我曾考慮使用MySQL將設置寫入註釋表中的二進制「is_secure」字段 - 如果它爲true,則轉到包含三列的表:comment_id,user_id和group_id。組(group_id)將用於用戶組 - 註冊用戶,朋友。自定義會爲所選的每個用戶(user_id)創建一行。

該表將獲得巨大的(爲每個評論也許幾十行),所以我不知道,如果使用的NoSQL值得僅考慮在這裏進行檢索,或是否有更好的方法來建模。

非常感謝!

回答

1

與數據庫「標誌」類似的問題。搜索相關的SO問題。

,而不是一個IF true/falseis_secure場,只需添加1位字段read_all(任何人),registeredfriendscustom。添加另一張保存自定義列表的表格將具有comment_id(來自上表)和friend_id(多行)。這樣一來,與LEFT JOIN on custom_friends_list_for_comments一個查詢就可以判斷是否要在頁面顯示給用戶。可選地,自定義可以是逗號分隔的列表(char字段),但是大小限制可能是問題。假設用逗號分隔3個字母的朋友ID,每個255個字符字段可以有64個朋友。