我正在尝试使用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'也改变
据我所知,使用右连接或内连接也可以解决问题,但与左连接相比,它们需要更多时间。
有没有办法改进这个命令;
提前致谢;
答案 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)
。这些索引应该加快查询速度。