开发者社区> 问答> 正文

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

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

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

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

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

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像