具有更多列的单个表与具有较少列的多个表

Sid*_*tel 8 mysql database-design

社交网络网站的更好的数据库设计是什么?一个多列少行的表,还是多列少多行的多个表?

例如:用户可以在他们的墙上或群组中发布更新。

我能想到的两种数据库设计是:

设计1

用户帖子

  • ID
  • 用户身份
  • 邮政
  • 约会时间

用户组帖子

  • ID
  • 组ID
  • 用户身份
  • 邮政
  • 约会时间

潜在问题:可能需要连接,这可能(将来)是一个缓慢的查询。

设计2

帖子

  • ID
  • 用户身份
  • 组ID
  • 邮政
  • 日期时间(如果用户在墙上发帖,则 groupid 将为空)

潜在问题:循环处理大型数据集可能需要(很长)时间。


当数据增加时如何获得更好的性能?还有其他(更好)的方法吗?

小智 -3

对我来说,根据您当前的结构,设计 2 更好。您可以实施分区、优化查询和结构化方式来创建数据库/表,这将减少执行时间。但某些情况规范化效果更好,但完全取决于您的数据库设计架构。