我有大约 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
最佳答案
只要所有数据库都存在于同一主机上 - 是的,这没问题,您可以加入多个数据库(假设您有足够的权限来访问所有这些表)。
直接尝试而不是在这里提问不是更容易吗?还是我错过了什么?
关于mySQL 跨数据库子查询/连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6552699/