gpt4 book ai didi

MySQL - 使用 PK 和 DELETE 时发生死锁错误

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

我有一个 mysql DELETE 查询,其中 WHERE 子句使用带有 IN 的主键:

delete from my_table where id in (4, 900, 700);

我遇到死锁错误。我不明白为什么会这样,或者如何避免它。尽管其他查询正在从同一个表中选择/删除/添加,但没有其他查询正在选择这些 ID。 PK ID 特定于单个用户,因此没有其他人使用这些相同的 ID。我认为使用主键会阻止删除语句锁定其他行。

编辑:引擎是innoDB

最佳答案

首先,它是什么存储引擎?持续多少秒会出现死锁错误?

如果是myisam,引擎具有表级锁定,因此大多数操作都会阻塞表。如果它持续超过 mysql 实例的最大查询超时,它可能会抛出错误。

此外,您可以使用pt-deadlock-logger Percona 的,以获得一些发现问题的帮助。

关于MySQL - 使用 PK 和 DELETE 时发生死锁错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34254556/

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