mysql - 跨数据库和服务器进行子选择

时间:2013-11-27 09:40:35

标签: php mysql database subquery

在服务器S1上有数据库A.我对它有只读访问权限,只能执行SELECT语句。

在服务器S2上有数据库B,具有完全访问权限。

在数据库A中有一个表,即有大约100.000个用户的用户,我想为数据库B中的每个用户保存一些附加信息。

如果我想让在A.users中的所有用户在B中没有其他信息,那么最好的方法是什么?

这是不可能的,因为我们有不同的数据库服务器:

SELECT id FROM A.users WHERE id NOT IN (SELECT id FROM B.info)

我可以使用PHP或任何语言生成语句的CSV列表

SELECT id FROM B.info

while ($data = mysql_fetch_object($result)) $ids[] = $data->id;

"SELECT id FROM A.users WHERE id NOT IN (" . implode(',', $ids) . ")"

这应该可行,但我想如果B.info中存在很多行会有问题。也许有一些最大查询长度?也许是一些性能问题?

还有其他方法可以解决这个问题吗?

0 个答案:

没有答案