MySQL:使用一个表快速填充另一个表

时间:2016-03-17 03:01:29

标签: mysql

我正在运行MySQL(对我而言是新语言),并且正在尝试合并两个表,如此论坛上所描述的那样令人作呕。我从另一个线程中获取了似乎最受欢迎的答案,并且它有效:

function aerrorList(error){
        errList.push(error);
        var errors = "";
        for (var i=0; i < errList.length; i++){
            errors += errList[i] + "\n";
        }
        alert(errors);
    }

问题在于性能 - 这需要15秒才能更新500条记录,显然需要几小时来更新~50k记录(在我的Macbook上)。我怎样才能让这个更快?

1 个答案:

答案 0 :(得分:0)

我会使用显式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);