帖子详情关联附件表的设计
在百万级的数据量下,需要从
帖子表
和
附件表
中获取
帖子详情
和
附件
,有两种设计方式可供选择:
方式一:
在
帖子表
中添加一个
attch
字段,标记有无附件。
访问帖子详情时,判断
attch
字段值是否为 1。
若为 1,则查询
附件表
获取附件。
方式二:
不
在
帖子表
中添加
attch
字段。
访问帖子详情时,
始终
查询
附件表
,以获取关联附件。
推荐方案:
对于百万级的数据量,推荐使用
方式二
。
原因:
避免了在
帖子表
中添加冗余字段,降低了表维护成本。
确保每次获取帖子详情时都能取得最新的附件信息,提高数据准确性。
对于海量数据,
附件表
的查询效率不会显著影响整体性能。
具体实施:
可以在
附件表
中添加
帖子表
的主键编号
post_id
作为外键,然后通过联表查询获取帖子详情和附件:
附件表:
id
post_id
filename
url
帖子详情查询:
SELECT post.*, a.filename, a.url
FROM post
LEFT JOIN attach a ON post.id = a.post_id;