MySQL表设计优化
在博客系统开发中,针对同一张收藏、评论、点赞表用于不同类型的内容(文章和问答)的表设计引发了疑问。
问题:这种表设计规范是否合理?还是需要为文章和问答分别建立点赞、收藏和评论表?
回答:
对于没有正文内容的数据(如收藏、点赞),可以用一张通用表,利用类型字段(如type)区分不同内容类型。
对于有正文内容的数据(如评论、文章正文),建议考虑使用单独的表:
- 优点:减少联合查询时的性能开销,提高查询效率。
- 缺点:增加了表数量,需要更复杂的数据维护逻辑(如外键关联)。
因此,最佳表设计方案取决于具体数据结构和性能要求。如果正文内容较少或查询频率低,公用表可以是一个可行的选择。否则,建议为不同内容类型设置独立的表。