2014-01-15 105 views
0

我需要一個關於sql表架構的建議。我已經打開了一個表並將其命名爲Chats,添加兩列(如ID和Messages)還是包含ID和消息會更好?而他們中的哪一個會工作得更快對聊天系統架構設計的建議

+6

千萬不要永遠不要在一列中存儲多個值。 'id'只能包含**一個**號碼。而'message'應該只包含**一個**消息。 –

+0

我已經這樣做了,但他們都工作緩慢,即使有三個或四個行 –

+0

你使用什麼數據庫? MSSQL? MySQL的?甲骨文? – Liath

回答

3

個人而言,我想這個模型的兩個表:

Chats 
- ID 
- Name 

Messages 
- ID 
- ChatID 
- Message 
- SentDate 

應該有一個外鍵從Messages.ChatID到Chats.ID。

否則,您將不得不在每次有人發送消息時創建重複聊天。

我強烈建議不要在同一列中保留ID和值,這使得幾乎不可能加入,並且稍後會創建各種問題。

1

沒有理由使用單個列。添加儘可能多的列,每列都有自己的數據類型,因爲您可以稍後過濾每列中的表格並對其進行排序。如果需要,您還可以添加約束條件,索引,統計數據等。

如果您使用單獨的列,則對該表執行的任何查詢的運行速度都會更快。