start transaction;
select * from table where c=0 limit 10 for update;
我需要每次从table中提取 c=0的前 10条数据,c不是主键。当两个线程执行这个语句时。第一个线程执行时。会锁定这些记录。第二线程不能获取下个10条数据。也就是这样的操作必须是顺序执行。sql server中可以这样。select top 10 * from table with(updlock,readpast) where c=0;  -- readpast 跳过锁定的行。
这样两个线程可以同时获得10条数据。分别为 1-10,11-20;这样效率就高了。在 mysql 中如何时实现呢?谢谢