我有一个包含表 A、B、C 和 D 的数据库(都是一对多关系)。 A有很多B,B有很多C,C有很多D。现在我想添加另一个表Z。表Z将有很多A,表A可以递归地成为另一个A的父表。
现在,如果我想查询与所有 A 相关的所有 D,这些 A 与另一个 A 具有相同的 Z,我必须获取 Z 的 id 并查询所有关系。如果表 D 有一个列的 id 是表 Z 会更快吗?我只能查询所有ID为Z的D。这会比查询所有关系更快吗?这样做正确吗?
A 就像一个用户,Z 就像一个组,D 可能是一个帖子。如果我想获取与我的用户位于同一组中的所有用户的所有帖子,通过关系查询更好(性能)还是将组 ID 添加到帖子表是一个好主意?
最佳答案
如果 D 是一个帖子,我认为向该帖子添加群组不是一个好主意。该帖子是由用户而不是群组发布的。您还可以实现允许按组进行过滤的查询。查询不会像您在帖子表中拥有组 id 那样简单,但我就是这样做的:)
关于mysql - 查询多个连接或添加额外列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26631115/