在innodb列locking?

我知道这听起来很奇怪,但显然我的一列被locking。

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; 

第一个没有完成,第二个完成顺利。 唯一的区别是type_id

在此先感谢您的帮助 – 我有一个紧急的数据工作完成,这个问题正在让我疯狂

你为什么不看看SHOW FULL PROCESSLIST ,看看其他线程在访问系统,并杀掉可能使用该行的那些线程。

InnoDB具有行级locking,而不是列级别。 事实上,你改变了type_id意味着它已经select了一个不同的行,并且该行被locking。