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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在db中为每个“对话”使用新的SQL表相关的知识,希望对你有一定的参考价值。

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

我的问题是,这种好的方法或者每天在我的数据库中创建表对服务器来说应该是多少?

答案

根据请求创建新表永远不是一个好主意。您可以创建一个将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个用户。

以上是关于在db中为每个“对话”使用新的SQL表的主要内容,如果未能解决你的问题,请参考以下文章

将数据从底部工作表对话框片段传递到片段

从底部工作表对话框片段中获取价值

如何在 MySQL 中为每个类别创建一个 SQL 窗口函数列?

在 SQL Server 2008 R2 中为每个表创建创建触发器

如何在 sql server 2008R2/ssis 中为每个日期导出带有日期时间的单独 excel 表?

如果 SQL :parameter 在 DB2 JDBC 中为“ALL”,如何匹配所有行?