我正在运行MySQL(对我来说是新语言),并试图合并两个表,如该论坛上的ad nauseam所述。我从另一个线程那里获得了似乎是最受欢迎的答案,并且它的工作原理是:
ALTER TABLE table1 ADD col3 varchar( 30 ) NOT NULL;
UPDATE table1,table2
SET table1.col3=table2.col3
WHERE table1.col1 = table2.col1 AND table1.col2 = table2.col2
问题是性能-更新15条记录需要15秒,而更新约5万条记录需要花费数小时(在我的Macbook上)。我怎样才能使速度更快?
我将使用显式编写此查询join
:
UPDATE table1 join
table2
ON table1.col1 = table2.col1 AND table1.col2 = table2.col2
SET table1.col3 = table2.col3;
但是无论哪种方式,您都需要一个索引。我建议table2(col1, col2, col3)
:
create index idx_table2_col1_col2_col3 on table2(col1, col2, col3);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句