Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 查询多个联接或添加额外列_Mysql_Sql_Postgresql - Fatal编程技术网

Mysql 查询多个联接或添加额外列

Mysql 查询多个联接或添加额外列,mysql,sql,postgresql,Mysql,Sql,Postgresql,我有一个包含表a、B、C和D(都是一对多关系)的数据库。A有许多B,B有许多C,C有许多D。现在我想添加另一个表Z。表Z将有许多A,表A可以递归地成为另一个A的父级 现在,如果我想查询所有与A相关的D,它们与另一个A有相同的Z,我必须得到Z的id并查询所有的关系。如果表D有一个id为表Z的列,会更快吗?我只能查询id为Z的所有D。这会比查询所有关系更快吗?这样做对吗 A像一个用户,Z像一个组,D可以是一个帖子。如果我想获得与我的用户在同一组中的所有用户的所有帖子,那么通过关系进行查询(性能)更好

我有一个包含表a、B、C和D(都是一对多关系)的数据库。A有许多B,B有许多C,C有许多D。现在我想添加另一个表Z。表Z将有许多A,表A可以递归地成为另一个A的父级

现在,如果我想查询所有与A相关的D,它们与另一个A有相同的Z,我必须得到Z的id并查询所有的关系。如果表D有一个id为表Z的列,会更快吗?我只能查询id为Z的所有D。这会比查询所有关系更快吗?这样做对吗


A像一个用户,Z像一个组,D可以是一个帖子。如果我想获得与我的用户在同一组中的所有用户的所有帖子,那么通过关系进行查询(性能)更好吗?还是将组id添加到帖子表是一个好主意

如果D是一个帖子,我认为在帖子中添加一个组不是一个好主意。这篇文章是由一个用户,而不是一个团体写的。您还可以实现允许按组进行筛选的查询。查询不会像在post表中有组id时那样简单,但我会这样做:)