0

我会有两个具有以下列的表:

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 会更快,因为不必重新创建索引?还有其他方法可以加快速度吗?

4

1 回答 1

1

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

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

于 2013-10-04T11:35:55.457 回答