我有一个基因列表的查询,我正在做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
并将输出插入到具有正确列数的表中,它会更快吗?