我在这里有一个关于 MySQL Limit 的问题。
- 假设我有一张有 100 行的表
- 然后在我完成查询操作(SELECT、WHERE 等)之后
- 然后我用 LIMIT(10) 限制大小
在这种情况下,MySQL 首先检索 100 行记录,然后只将其削减到 10 的大小或计算结果大小直到 10 然后停止检索剩余的记录?
最佳答案
让我们从逻辑上思考一下,或许答案就会水落石出。假设您正在使用以下查询:
SELECT someCol
FROM yourTable
ORDER BY someCol
LIMIT 10
直觉上,MySQL 必须知道结果集中每条记录的顺序位置,才能保证返回的 10 条记录实际上是整个结果集中的前 10 条记录。
如果 MySQL 只获取它在扫描期间命中的前 10 条记录,那么通常它不能保证返回的记录符合您指定的顺序。
关于MySQL 限制事件发生在什么时候,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40970482/