乙個SNS資料庫表設計的問題

2021-09-08 23:15:43 字數 382 閱讀 5606

遇到乙個資料庫設計的問題,比如有乙個sns的系統,資料庫中如何表示使用者關係,例如使用者和使用者之間的 「關注」和 「被關注」,現在有兩種方案:

1. 設計乙個使用者關係表,欄位都是使用者id

2. 使用者表加2個字段表示他關注的使用者id,例如「1,3,4,8,10」,和他被關注的使用者id,例如「13,33,53,23,23」

兩種方案比較:

1. 方案1缺點比較多,乙個是外來鍵關聯的效率,還有乙個是使用者數量增加,這張表將迅速膨脹,即使有快取也不是特別的高效

2. 方案2比較高效,但如果這個使用者關注的使用者特別多的話可能達到varchar(max),需要text型別,解決辦法是限制最大關注數量,例如1000個。

總之,對大資料庫的系統效能要盡量解耦,而且有利於快取的使用。

4 21 SNS 資料庫設計

這裡講解sns交友社群的資料庫設計與實現 我們要實現下面幾個功能 朋友之間的關係,多對多關係 朋友之間的維度,如3度4度.朋友的查詢 create database sns 40100 collate utf8 general ci people 是儲存人,你可以用為user,member都可以 c...

乙個專案報表資料庫設計的問題

如何設計的合理.2專案管理模組 縣區使用者登陸成功後進入系統主頁面,能對縣區內企業填寫的專案進行管理,有查詢功能根據查詢條件生成報表,有列印 匯出功能。市使用者有最高許可權,能對縣區使用者企業進行管理,有查詢功能根據查詢條件生成報表,有列印 匯出功能。市使用者有最高許可權。一 資料庫設計與分析 本系...

乙個站內簡訊的資料庫設計

先說一下需求和環境 乙個系統的站內信模組,有存在大量的按部門 的可能,相對的個人對個人的 是比較少的。資料庫是採用的mysql5.0。最先的資料庫設計如下 兩張表 一張msg表,字段如下 id int 自增長id senderid int 外來鍵關聯傳送者id title varchar 128 簡...