有时mysql更新需要很长时间

cunj1qz1  于 2023-03-07  发布在  Mysql
关注(0)|答案(1)|浏览(226)

有一个10行的小表。有时一个简单的请求可能需要超过1秒。

# Query_time: 1.874935  Lock_time: 1.370841
UPDATE `table` SET `value` = `value + 1` WHERE `key` = 'operation_key' LIMIT 1;

请求被 Package 在事务中。更新由主键完成。
请告诉我什么原因会导致请求执行这么长时间。我们通常会在测试负载增加时注意到这一点。执行会延迟几分之一秒,之后会恢复正常。
这会导致错误"超过锁定等待超时;尝试重新启动事务"
我注意到这种行为发生在负载测试开始的时候,并且在创建页面的时候,这个字段在事务中递增。它通常工作得很快。

dbf7pr2w

dbf7pr2w1#

你好我是古尔山·内吉
在MySQL中,对一个小表的简单请求可能需要超过1秒的时间,这是由于网络连接速度慢、资源不足、查询效率低、锁定和阻塞或软件错误等各种原因造成的。因此,找出根本原因并采取适当的措施来优化查询性能非常重要,如优化资源、查询结构、索引、数据库设计、隔离级别、或升级到较新的MySQL版本。
谢谢

相关问题