在MySQL中,INNER JOIN + INSERT INTO TABLE的速度是否比UNION ALL快?

时间:2017-12-08 09:40:23

标签: mysql database insert-into union-all

我有一个基因列表的查询,我正在做INNER JOIN来检索与数据库中的那些基因匹配的结果(EER Diagram):

SELECT t1.*, database1.*
FROM t1
INNER JOIN database1
ON t1.GeneSymbol = database1.GeneSymbol;

我有多个数据库,其中包含具有不同行数的基因的交互(从5,000到70,000,000行不等),我想将所有匹配的行相加。我试图执行一个简单的UNION ALL而不是像以下那样的INNER JOIN:

SELECT t1.*, database1.*
FROM t1, database1
WHERE t1.GeneSymbol = database1.GeneSymbol

UNION ALL

SELECT t1.*, database2.*
FROM t1, database2
WHERE t1.GeneSymbol = database2.GeneSymbol;

但是,如果我尝试使用UNION ALL添加越来越多的数据库来合并结果,则需要永久。我想知道是否为所有数据库执行INNER JOIN + INSERT INTO TABLE并将输出插入到具有正确列数的表中,它会更快吗?

0 个答案:

没有答案