我知道这听起来很奇怪,但显然我的一列被锁定。在innodb中锁定列?
select * from table where type_id = 1 and updated_at < '2010-03-14' limit 1;
select * from table where type_id = 3 and updated_at < '2010-03-14' limit 10;
即使在几个小时内第一个也不会跑完,而第二个完成顺利。唯一的区别是2个查询之间的type_id。
有点背景的,第一条语句搞砸了这之前,我不得不手动杀死。
在此先感谢您的帮助 - 我有一个紧急的数据工作,完成任务,而这个问题是让我疯
只是跑了它 - 看起来非常好。感谢您阅读innodb的限制! – 2010-05-17 03:03:36
Innodb的具有行级锁定,这意味着如果10 1十亿行正在更新,您可以访问除10 MyISAM的所有行具有表级锁,如果你更新,这意味着1个十亿行,你会不会是10能够访问100亿行中的任何一行,直到更新完成。 我已经完全停止使用myisam并且从未后悔过。 – John 2018-01-06 06:01:10