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

Posted

技术标签:

【中文标题】mySQL 子查询/跨数据库连接?【英文标题】:mySQL subquery/join across database? 【发布时间】:2011-07-01 20:01:32 【问题描述】:

我有一个包含大约 3300 万条记录的结果集。

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

这应该可以解决问题,但是由于 db1 是 myISAM,所以速度太慢了:

选择编号 来自 db1.table1 身份不在的地方( 选择编号 FROM db1.table2 ) 结果 按编号订购

我有第二个数据库,它具有相同的数据,但 InnoDB 引擎用于 3200 万大结果。可能的?这个有点不合我意。欢迎任何/所有建议。

选择编号 来自 db2.table1 身份不在的地方( 选择编号 FROM db1.table2 ) 结果 按编号订购

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

感谢您的确认。我正在处理我不想搞砸的数据,而且我对此一无所知,所以我想在实际做任何事情之前进行一些研究......

以上是关于mySQL 子查询/跨数据库连接?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL进阶 — 联合查询(外连接内连接子连接合并查询)

MySQL进阶 — 联合查询(外连接内连接子连接合并查询)

MySQL进阶 — 联合查询(外连接内连接子连接合并查询)

mysql 两个子查询很快 ,再连接查询变的很慢,怎么分析其原因

数据库之MySQL入门(数据查询2)

mysql啥时候使用子查询,啥时候使用表连接查询,关系多张表的时候该怎么查询