有没有更好的方法来运行mysql update leftjoin

时间:2016-12-06 02:24:01

标签: mysql left-join

我正在尝试使用mysql命令来更新我的表:

Update TableA left join
       TableB  -- I am guessing this belongs here
       on TableA.Key=TableB.key
    set TableA.column1=TableB.column1
    where TableA.Column2='XXX';*

我想要的是更新匹配Key条件和where子句的记录,而此代码使其他记录只满足where子句:TableA.Column2 ='XXX'也改变

据我所知,使用右连接或内连接也可以解决问题,但与左连接相比,它们需要更多时间。

有没有办法改进这个命令;

提前致谢;

1 个答案:

答案 0 :(得分:0)

这似乎是您想要的查询:

update TableA a join
       TableB b
       on a.Key = b.key
    set a.column1 = b.column1
    where a.Column2 = 'XXX';

对于此查询,您需要两个索引:TableA(Column2, key)TableB(key)。这些索引应该加快查询速度。