开发者社区> 问答> 正文

在MySQL中插入大量提交数据的问题?

请问高人们,做到一个功能,客户需要往一张表中记录数据,在insert之前要先将原先的数据delete掉,在用户量非常多的时候会报Lock wait timeout exceeded; try restarting transaction Query异常,数据库是MySQL,Struts2做的请求处理。
请问有什么好的办法避免这种问题吗?
刚才查了一下mysql的表中主键是自增的情况会出现锁表的情况,不知道是否是引起整个问题的根源呢。
我的SQL顺序是先delete,然后insert,将这一组操作放到一个事物里去。
请大家指正,谢谢~

展开
收起
落地花开啦 2016-02-05 13:49:14 2523 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    如果做大量数据的插入和删除,最好是每隔500或者1000次操作时提交事务,再重启新的事务。

    2019-07-17 18:37:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像