>我有一个有 31M 数据的表,当我尝试这样做时:
select id from class limit 20 offset 0;
我得到的结果没有排序,结果是这样的"13,18273785,29046580...",为什么不是"1,2,3,4,...,20"?
顺便说一句,在另一个小表中,我得到了正确的结果,例如"1,2,2,4,...,20",普通表的数据少于10,000行,不正确的表有超过30000,000行数据。知道吗?因为mysql事务隔离机制?谢谢
我知道我可以使用排序来获取我期望的数据,为什么在表中有一点数据,如 3000 行,限制和偏移量可以得到我期望的数据,但另一个表 30,000,000 无法排序您需要添加ORDER BY
子句,例如,例如:
SELECT id
FROM class
ORDER BY id
LIMIT 20 OFFSET 0;