组合两个相同的结构化表而没有重复条目的最快方法

时间:2014-05-31 00:50:09

标签: mysql database-administration

我有两个表具有完全相同的结构/列。我需要根据第二列(标题)将它们组合而不重复。第一列是ID,这些列可能有重复但应忽略。

数据库结构示例

id(主键,自动增量),标题(唯一),描述,链接

Ex. Table 1
 1 Bob thisisbob bob.com
 2 Tom thisistom tom.com
 3 Chad thisischad chad.com

Ex. Table 2
 1 Chris thisischris chris.com
 2 Chad thisischad chad.com
 3 Dough thisisdough doug.com

What I need in Table 3
 1 Bob thisisbob bob.com
 2 Tom thisistom tom.com
 3 Chad thisischad chad.com
 4 Chris thisischris chris.com
 5 Dough thisisdough doug.com

两个表每个都有大约500万个条目/行。我需要最有效的方法来组合它们。

1 个答案:

答案 0 :(得分:1)

有点难以理解你想要什么。也许,这可能是:

select *
from table1
union all
select *
from table2
where not exists (select 1 from table1 where table1.title = table2.title);

table1(title)上的索引会更快地运行。

编辑:

如果要将它们插入第三个表格,您可以执行以下操作:

create table table3 as
    select *
    from table1
    union all
    select *
    from table2
    where not exists (select 1 from table1 where table1.title = table2.title);