[問題] 關於聊天室schema設計

作者: tas72732002 (蔥頭)   2017-01-21 21:54:26
請問一下各位大大, 假設我要做一個聊天室, 包含團隊頻道和個人頻道
db schema 大致為
好友table
uid
fid
time
使用者table
userid
time
聊天table
sid
type(1:團隊 2:個人(私聊))
rid(房間id)
msg(裡面會包含訊息與發送者資訊)
time
如果是團隊部分rid, 就是user所加入的團隊id, 比較單純
但如果個人部分的rid
我的想法是A_B的userid做為rid
例如玩家A userid : 100001, 玩家B userid : 100002
rid = 100001_100002(小的編號放置在前面)
但這樣查詢有點麻煩, 如果我要查詢目前我的私聊有哪些新訊息
我必須
1. 拉出我的好友名單
2. 將我的userid與好友userid組成rid, 還需判斷小的編號要放前面
3. 將組好的rid, 丟到聊天table查詢
感覺有點複雜, 不知道大家有沒有比較好的設計?

Links booklink

Contact Us: admin [ a t ] ucptt.com