mysql - 查询多个连接或添加额外列

标签 mysql sql postgresql

我有一个包含表 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/

相关文章:

php - 使用 PHP 在数据库中存储用户密码的最安全方法是什么?

MySQL:从另一台服务器选择

java - PostGIS 函数不能在 java 中使用 hibernate ?

mysql - 如何在我的插入值命令中插入 Bool 的值?

sql - 实现分页的有效方法

postgresql - PostgreSQL 数据库中的时间触发器

sql - 在 INSERT 条件下循环

python - 在同一列标题下拉出下一个值

php - 使用 PHP 在 MySql 数据库中查找和打印最常见的值

sql - 消除sql中的重复条目