1
我正在聊天網站上工作。我如何存儲2個不同聊天的消息。我是否必須爲每個聊天創建一個新表格,或者是否可以有一個存儲所有聊天的表格?在單個數據庫表中存儲不同聊天的消息
從長遠來看(即在搜索過程中),後面的方法會受到影響,因爲每次用戶打開聊天時都會從該表中檢索所有消息?
我正在聊天網站上工作。我如何存儲2個不同聊天的消息。我是否必須爲每個聊天創建一個新表格,或者是否可以有一個存儲所有聊天的表格?在單個數據庫表中存儲不同聊天的消息
從長遠來看(即在搜索過程中),後面的方法會受到影響,因爲每次用戶打開聊天時都會從該表中檢索所有消息?
這裏是我推薦的,只用一個表來存儲消息,你將需要更多的表來維護其他相關數據。 也作爲羣組聊天對待一對一的聊天,區別僅在於最終用戶它只被視爲1-1。
以下僅僅是基本的結構,讓你開始,在實際你將不得不添加更多的列或改變結構,以支持數據同步,讀,交付收件人,附件等
Table: User
Columns: userId, name, image and other user info columns
Table: Group
Columns: groupId, name
Table: Group_User_X
Columns: groupId, userId
Table: Message
Columns: messageId, senderUserId, groupId, content
現在,爲任何給定的用戶加載消息,您可以簡單地加入Group_User_X和消息表,併爲用戶所屬的組提取消息。
如果您需要任何進一步的幫助,您可以與我聯繫[email protected]
感謝你了 –
我還有一個困惑。每個消息的長度可以從只是一個HI變化一個很長的消息..所以,如果你使用的是mysql,那麼我應該使用哪種數據類型的消息內容 –
,你可以使用文本http://boolean.co.nz/blog/max-length-for-mysql-text-field-類型/ 135/ –