在我的基于线程的消息传递系统,表架构是选择行具有不同值的列
> messages table
id(int auto incr primary key)
body(varchar)
time(datetime)
>message_reference table
id(int auto incr primary key)
message_id(forgain key from message table)
sender
receiver
在这里,我要选择被发送到一个新的接收器的第一个消息ID和发件人是登录的用户。
这样做有多个查询和一些代码显然是可能的,但可以用一个查询来完成性能问题吗?
咦?您能否提供一些示例数据和预期结果?什么构成“新”接收器?你如何知道谁登录?当您使用多个查询时,您是否真的看到性能问题? –
为什么你需要两张桌子?它看起来像这将是一个1-1关系,所以你可以把所有东西放在一张桌子上。 – CyberDude
@cyberdude:当用户向多个接收者发送消息时,将它放在一个表中会增加我的db中的冗余度。整个消息需要一次又一次插入。 – Sourabh