在db中为每个“对话”使用新的SQL表

时间:2013-03-28 16:11:14

标签: php sql database web-applications

我有这个Web应用程序我正在为我的主要项目开发,其中一个功能是注册用户之间的消息传递。创建整个消息系统,每次发送消息时,创建表会话中的新记录并创建第二个数据库中的新表,表名由用户的id和会话ID组成。在此表中存储了两个ppl之间的整个对话。

我的问题是,这种好方法或者每天在我的数据库中创建表格对于服务器来说是否需要处理?

1 个答案:

答案 0 :(得分:3)

根据请求创建新表永远不是一个好主意。您可以创建一个将user_ids连接到对话的表:

conversations:
id : 2348
started_at: 2013-03-28 17:13:00

user_conversations:
id        : 538
conversation_id: 2348
message   : "Hey Jakub, how are you?"
user_id   : 5831
posted_at : 2013-03-28 17:14:50

id        : 539
conversation_id: 2348
message   : "Hey Anyone, I'm fine, how are you?"
user_id   : 95234
posted_at : 2013-03-28 17:15:30

id:PK,关键在user_id

你可能想玩键盘,但这是一个很好的设置。您将消息连接到用户和封面。这样,对话也不仅限于2个用户。