请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

用twisted adbapi异步数据库操作时出现死锁

老师你好,
大量并发操作情况下, 报如下错误:

2019-12-19 21:27:17 [root] CRITICAL: [Failure instance: Traceback: <class ‘MySQLdb._exceptions.OperationalError’>: (1213, ‘Deadlock found when trying to get lock; try restarting transaction’)

请问有没有解决的思路呢? 我执行看了item和pipeline的相关数据库操作语句,没有发现问题,数据表设置了关键字似乎也没什么问题。 不是大批量高并发地操作不会出现问题。

注:相关数据库的操作只是针对一张数据表,而且这个数据表只有一个以表内字段建的主键,没有外键。这张表是独立的。数据库引擎是InnoDB.

盼复,谢谢!

正在回答 回答被采纳积分+3

1回答

bobby 2019-12-22 10:57:06

你是不是对这个表既有查询操作 也有更新操作 以及插入操作,这个是表锁之间产生了死锁,这种问题在高并发的时候很容易出问题

0 回复 有任何疑惑可以回复我~
  • 提问者 慕婉清4097246 #1
    只有pipeline中对这个表的并发插入,而且只有插入操作。其它任何地方都没有对这张表的操作,包括查询。
    回复 有任何疑惑可以回复我~ 2019-12-23 16:40:26
  • bobby 回复 提问者 慕婉清4097246 #2
    https://www.cnblogs.com/hunternet/p/11383360.html 你可以先看看这篇文章
    回复 有任何疑惑可以回复我~ 2019-12-24 11:49:20
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信