本人设计一个项目,用到数据库大量更新操作:
update db_acc_traffic set state=1 where id=1
update db_acc_traffic set state=1 where id=2
update db_acc_traffic set state=1 where id=3
update db_acc_traffic set state=1 where id=11
其中id是主键,state是要修改的列,默认为0;现在要根据指定id修改s为1.
一次要处理上万条,一条一条执行的话效率很低。而且不支持事务,除了update外同时,另外一个线程会对db_acc_traffic进行大量insert操作。请问有什么办法提升更新效率??
求高手帮助,谢谢。
mysql大批量更新表,如何加快更新效率?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 大河行脚 2015-03-09 07:19关注
用存储过程,存储过程处理大量数据优势很明显的;还有你的语句应该修改一下:
update db_acc_traffic set state=1 where in (1,2,3,11)
如果你的id是连续的,则where id>0 and id<12
如果不是连续的,而且没有办法用数学公式处理的话,还是用存储过程,慢慢写吧解决 无用评论 打赏 举报
悬赏问题
- ¥15 Python报错怎么解决
- ¥15 simulink如何调用DLL文件
- ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
- ¥30 线性代数的问题,我真的忘了线代的知识了
- ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统
- ¥188 需要修改一个工具,懂得汇编的人来。
- ¥15 livecharts wpf piechart 属性
- ¥20 数学建模,尽量用matlab回答,论文格式
- ¥15 昨天挂载了一下u盘,然后拔了
- ¥30 win from 窗口最大最小化,控件放大缩小,闪烁问题