mySQL子查询/跨数据库连接?

时间:2011-07-01 20:01:32

标签: mysql innodb myisam

我有大约3300万条记录的结果集。

我需要根据基于id的大约1000万条记录的另一个结果集删除任何记录。

这应该解决这个问题,但是由于db1是myISAM,它太慢了:

SELECT id
FROM db1.table1
WHERE id NOT IN (
  SELECT id
  FROM db1.table2
) AS result
ORDER BY id

我有第二个数据库具有相同的数据,但InnoDB引擎可以获得3200万的结果。可能?这个只是我联盟中的一点。欢迎任何/所有建议。

SELECT id
FROM db2.table1
WHERE id NOT IN (
  SELECT id
  FROM db1.table2
) AS result
ORDER BY id

1 个答案:

答案 0 :(得分:4)

只要所有数据库都存在于同一主机上 - 是的,这没有问题,您可以加入多个数据库(假设您有足够的权限访问所有这些表)。

简单地尝试而不是在这里询问会不会更容易?或者我错过了什么?