Python MySQLdb句柄行锁
我正在使用MySQLdb,当我对表行执行更新时,有时会出现无限进程挂起 起初我想,可能是因为表是Innodb,所以它是COMMIT,但即使在每次更新之后使用autocommit(True)和db.COMMIT(),我仍然会遇到挂起的问题Python MySQLdb句柄行锁,python,mysql,Python,Mysql,我正在使用MySQLdb,当我对表行执行更新时,有时会出现无限进程挂起 起初我想,可能是因为表是Innodb,所以它是COMMIT,但即使在每次更新之后使用autocommit(True)和db.COMMIT(),我仍然会遇到挂起的问题 是否有可能存在一个行锁,并且查询无法执行?是否有一种方法可以处理潜在的行锁,甚至可能处理较慢的查询?根据您的用户权限,您可以在更新挂起时执行SHOW PROCESSLIST或从information\u schema.PROCESSLIST中选择,以查看是否存在
是否有可能存在一个行锁,并且查询无法执行?是否有一种方法可以处理潜在的行锁,甚至可能处理较慢的查询?根据您的用户权限,您可以在更新挂起时执行
SHOW PROCESSLIST
或从information\u schema.PROCESSLIST
中选择,以查看是否存在与其他查询的争用问题。还要对更新中使用的WHERE子句的SELECT进行解释,以查看是否需要更改语句
如果是锁争用,那么您最终应该会遇到锁等待超时(我认为默认值为50秒)。否则,如果您有时间限制,您可以使用KILL QUERY和KILL CONNECTION取消阻止游标执行。谢谢您的输入。我终于找到了我的问题的罪魁祸首,幸运的是这不是一个锁排问题。