以最有效的方式组合两个表

时间:2013-10-04 10:10:16

标签: sql postgresql

我有两个包含以下列的表:

table_1: id, date, val1, val2    
table_2: id, date, val3, val4

我现在想要

table_3: id, date, val1, val2, val3, val4

两个表都有(id,date)的唯一索引。

目前我只是创建一个新表。

create table table_3 as
select * from table_1 join table_2 using (id, date);
create unique index my_index
on table3(id,date);

由于数据非常大,这需要一段时间。我现在正在寻找让这更快的想法。

问题是:您认为通过添加缺少的列来更改表1然后插入它们会更快,因为索引不应该重新创建吗?还有其他方法可以加快速度吗?

1 个答案:

答案 0 :(得分:1)

最快的方式几乎肯定是你在做什么。尝试更改表将最终更新表和索引中的每一行。最后重建索引的速度更快。

另一种选择当然是使table_3成为一个视图。