我这里有两个表,
帖子表 post 如下图:

附件表 attach 如下图:

假如在显示帖子详情的时候,是需要将帖子内容和附件 都显示出来的,
方式一 : 我是在post表加入一个 字段 "attch", 用来表示"有无附件", 取值1 为有,0为没有,有的话就去attch表中查询,没有的话就不用去attach表查询
方式二: 不在post表加字段, 不管是显示哪个帖子,我在post表取数据的同时都去attach表联查有无关联附件数据,有的话就取,没有就不取.
问题: 在百万级数据量的情况下,哪种方式比较合理
两种方式都是可取的,不过需要根据具体的情况进行取舍
- 如果访问量特别的大,不停的进行查询的话,第一个方案会好一点
- 无论第一个还是第二个方案,最核心的一个点是,要在attach表的post_id 上加一个索引,一定要加。
根据状态跟着数据走
方式一:用户删除附件 -> 修改post表状态[删除全部,才修改 删除部分不修改]
方式二:修改attch状态
根据"有无附件关系" -> 即 "有无可关联到的数据" -> 转化为表与表的关系 更加合理一点(这个不需要一个字段来维护(有无附件))
这个情况并不是全量查询,可以先确定一个 post的id , 所以不用考虑性能问题