您的位置:首页 > 数据库 > MySQL

Mysql执行Update操作时会锁住表

2015-07-06 20:57 736 查看
update tableA a,(select a.netbar_id,sum(a.reward_amt) reward_amt from  tableB a group by a.netbar_id) b set a.transfer_amt=b.reward_amt where a.netbar_id=b.netbar_id;


执行该语句时要注意,因为

select a.netbar_id,sum(a.reward_amt) reward_amt from  tableB a group by a.netbar_id


该临时表没有建索引,所以当记录比较多时,再执行update操作就会出现阻塞,因为执行update操作会锁表。

所以要改写成用脚本。

用脚本查询得到临时表,然后用循环把每条纪录的netbar_id取出来做为update的where条件,这样update执行的时间就会很短。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: