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执行的时间就会很短。
相关文章推荐
- mysql数据库字段类型及其长度
- MySQL主从复制
- 修改mysql 表的字符编码
- ubuntu 下mysql 设置允许远程连接
- Mysql 的源码包安装
- MySQL数据库安装
- nutch2.2.1+mysql集成教程
- windows平台单机多节点mysql群笔记
- mysqli_set_charset和SET NAMES优劣分析
- MySQL中函数CONCAT及GROUP_CONCAT
- mysql Error 1045错误 密码修改方法
- MySQL 性能优化方案(转载)
- mysql的常用函数
- mysql连接慢,修改配置文件
- mysql启动报错:"Check that you do not already have another mysqld process "
- mysql学9-优化
- mysql学习8--日志
- mysql的union操作
- 从一个死锁看MySQL锁处理
- mysql中count(),group by使用