gpt4 book ai didi

python - MySQLdb 处理行锁

转载 作者:行者123 更新时间:2023-11-29 15:00:43 25 4
gpt4 key购买 nike

我正在使用 MySQLdb,当我对表行执行更新时,有时会出现无限进程挂起。

起初我想,也许它是 COMMIT,因为表是 Innodb,但即使在每次更新后使用 autocommit(True) 和 db.commit(),我仍然无法解决。

是否有可能存在行锁导致查询无法执行?有没有办法处理潜在的行锁,甚至处理慢速查询?

最佳答案

根据您的用户权限,您可以在 UPDATE 挂起时执行 SHOW PROCESSLIST 或 SELECT from information_schema.processlist,以查看是否存在与另一个查询的争用问题。还要对 UPDATE 中使用的 WHERE 子句的 SELECT 执行 EXPLAIN,以查看是否需要更改该语句。

如果是锁争用,那么您最终应该会遇到锁等待超时(我相信默认值 = 50 秒)。否则,如果您有时间限制,您可以使用 KILL QUERY 和 KILL CONNECTION 来解锁游标执行。

关于python - MySQLdb 处理行锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3216027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com