读书人

求这个update语句执行顺序以及效率解决

发布时间: 2012-02-20 21:18:23 作者: rapoo

求这个update语句执行顺序以及效率
update a as a set a.damage=(SELECT damage FROM b AS b WHERE b.id = a.id) where a.team_id=28;
这个是先执行的where,出来一个a.team_id=28的临时表,然后join b on b.id = a.id,然后再把damage update到a.damage么

[解决办法]

引用这个是先执行的where,出来一个a.team_id=28的临时表,然后join b on b.id = a.id,然后再把damage update到a.damage么

[解决办法]
更常用的写法是
update a inner join b on a.id = b.id set a.damage=b.damage where a.team_id=28;


效率如何,则建议自己测试一下。

读书人网 >Mysql

热点推荐