消息系统。关于数据库设计的问题

0pl*_*us1 5 php mysql database database-design

我正在设计一个必须支持大量消息和用户的消息传递系统。

我在考虑两种解决方案。

Usertable -> id, username ....
Messagetable -> id, from_id, to_id, message ...
Run Code Online (Sandbox Code Playgroud)

或者:

Usertable -> id, username ....
Messagetable -> id, message ...
HasMessagetable -> id, from_id, to_id...
Run Code Online (Sandbox Code Playgroud)

我想知道什么是最好的方法以及为什么。

另外,是否有关于大型数据库设计和最佳实践的优秀出版物(免费或非免费)?

谢谢

Nic*_*s78 1

不久前我也做了同样的事情,并从方法 1 开始。但随后用户应该能够向多个用户发送消息。如果有 n 个收件人,方法 1 会突然将每条消息保存 n 次。因此,如果有可能的话,我认为 2 更好。