zcs85 2015-03-09 06:01 采纳率: 0%
浏览 2597

mysql大批量更新表,如何加快更新效率?

本人设计一个项目,用到数据库大量更新操作:
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操作。请问有什么办法提升更新效率??
求高手帮助,谢谢。

  • 写回答

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 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看