MySQL 限制事件发生在什么时候

标签 mysql

我在这里有一个关于 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/

相关文章:

php - 关闭窗口时更改 MySQL 数据库

mysql - 在 MySQL 中为 3 个表创建单个插入查询

PHP:将 JavaScript 函数的结果存储到 PHP 变量中

mysql - 仅当记录不存在时才插入查询

MySQL 查询计算前一周

php - 使用多个 html 字段搜索 mysql

mysql - 如何在 mysql 的 INNER JOIN 中进行 DISTINCT?

mysql - SQL - 从大数据集中返回最新的多条记录

mysql - DB2 SQL如何让null值变成0?

mysql - 创建一个带条件的 mysql 事件