gpt4 book ai didi

mysql - 从大型 MySql 表中删除单行导致 "lock timeout"

转载 作者:IT王子 更新时间:2023-10-29 00:35:30 26 4
gpt4 key购买 nike

我正在运行 MySql 5.0.22,并且有一个包含大约 500 万行的非常笨重的表。

一些但不是所有的行都被另一个表的外键引用。

到目前为止,所有剔除未引用行的尝试都失败了,每次都会导致锁定超时。

将我想要的行复制到备用表也因锁定超时而失败。

令人怀疑的是,即使像下面这样应该立即完成的语句也会因“锁定超时”而失败:

DELETE FROM mytable WHERE uid_pk = 1 LIMIT 1;

...就在这一点上,我的想法已经用完了。

编辑:为了它的值(value),我一直在我的开发系统上解决这个问题,所以目前只有我在实际使用数据库,所以不应该在我正在使用的 SQL 之外进行任何锁定运行。

有没有 MySql 高手对如何驯服这个流氓表有建议?

编辑 #2:根据要求,表结构:

CREATE TABLE `tunknowncustomer` (
`UID_PK` int(11) NOT NULL auto_increment,
`UNKNOWNCUSTOMERGUID` varchar(36) NOT NULL,
`CREATIONDATE` datetime NOT NULL,
`EMAIL` varchar(100) default NULL,
`CUSTOMERUID` int(11) default NULL,
PRIMARY KEY (`UID_PK`),
KEY `IUNKNOWCUST_CUID` (`CUSTOMERUID`),
KEY `IUNKNOWCUST_UCGUID` (`UNKNOWNCUSTOMERGUID`),
CONSTRAINT `tunknowncustomer_ibfk_1` FOREIGN KEY (`CUSTOMERUID`) REFERENCES `tcustomer` (`UID_PK`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8$$

请注意,尝试删除 FK 也会超时。

最佳答案

我在使用 innodb 表时遇到了同样的问题。优化表更正了它。

关于mysql - 从大型 MySql 表中删除单行导致 "lock timeout",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5902084/

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