InnoDb更新死锁

时间:2016-12-23 15:34:46

标签: mysql innodb deadlock percona

我有一千万行innodb-table。

CREATE TABLE IF NOT EXISTS `books` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `t` text NOT NULL,
  `book_id` int(8) NOT NULL,
  `key` varchar(7) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `key` (`key`),
  KEY `book_id` (`book_id`)
) 

一开始,列book_id和key为零/空,然后填充查询:

update books set book_id='123213', `key`='SOME_VARCHAR' where book_id='0' limit 1

有时我在网站上遇到了很多流量,并且在此查询中遇到了死锁。这个或建议有什么解决方案吗?或者我可能需要两张桌子。

P.S。 Percona MySQL 5.5,缓冲池大小为3G,日志大小为512M。带有8Gb RAM的Ubuntu专用服务器。

0 个答案:

没有答案