如果有人有这样的表结构,
CREATE TABLE IF NOT EXISTS `domain_source` (`nid` int(11) NOT NULL DEFAULT '0', `domain_id` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`nid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Stores the canonical domain for each node.';
在重负载下,我在插入到该表结构时出现死锁。我通常在表中删除和插入一行而不是更新,因为引擎是 Innodb。
为什么删除+插入而不是更新??
你有 BEGIN...COMMIT 围绕这些陈述吗?
您是否在 DELETE 和/或 INSERT 中点击了多行?
你在做 DELETE ... WHERE domain_id = ... 吗?如果是这样,请注意您没有索引,因此它必须扫描整个表!
(抱歉,这甚至没有开始回答您提出的问题。但它可能会导致真正问题的解决方案。)