0
我有一個社區列表。每個社區都有一個成員名單。目前,我將每個社區連接在一起,成員名稱之間用逗號隔開。這對較小的不可改變的社區很有用。但是隨着社區的規模越來越大,讓我們說有75,000名成員,社區的加載速度越來越慢。部分加載社區(讓我們說隨機10個成員)也不是很優雅。在這種情況下,社區表的最佳表結構是什麼?如果有這樣做的理由,多個表的使用也不是問題。用於在MySQL中存儲社區的表結構
我有一個社區列表。每個社區都有一個成員名單。目前,我將每個社區連接在一起,成員名稱之間用逗號隔開。這對較小的不可改變的社區很有用。但是隨着社區的規模越來越大,讓我們說有75,000名成員,社區的加載速度越來越慢。部分加載社區(讓我們說隨機10個成員)也不是很優雅。在這種情況下,社區表的最佳表結構是什麼?如果有這樣做的理由,多個表的使用也不是問題。用於在MySQL中存儲社區的表結構
使用三個表
`community`
| id | name | other_column_1 | other_column_2 ...
`user`
| id | name | other_column_1 | other_column_2 ...
`community_user`
| id (autoincrement) | community_id | user_id |
然後讓所有用戶的用戶信息在一個社區,你做這樣的事情
SELECT cu.id AS entry_id, u.id, u.name FROM `community_user` AS cu
LEFT JOIN `user` AS u
ON cu.user_id = u.id
WHERE cu.community_id = <comminuty id>