Mysql:使用 LIMIT 检索所有行

标签 mysql limit

假设我有一个包含 5 个条目的表格

如果我这样做有什么不同SELECT * FROM tbl LIMIT 18446744073709551615;

SELECT * FROM tbl LIMIT 1000; ?

根据MYSQL Limit syntax

要检索从某个偏移量到结果集末尾的所有行,可以使用较大的数字作为第二个参数。此语句检索从第 96 行到最后一行的所有行: SELECT * FROM tbl LIMIT 95,18446744073709551615;

我正在尝试使用关键字LIMIT实现全选

最佳答案

两者完全不同

在第一个查询中,如果只有 5 条记录,则不会选择任何行。 但在第二个查询中,您将选择所有 5 行。

在第一个查询中,将从第 96 行中选择记录,并且选择的记录总数是逗号后面的数字。

但在第二个查询中,将选择前 1000 行。

对于已编辑的问题::

两个限制是相同的,并且执行会有所不同,直到表中的行数达到最大 1000 行为止。

实际上,数据库会进行全表扫描,在返回记录的时候,一旦达到限制就会停止。

关于Mysql:使用 LIMIT 检索所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14272735/

相关文章:

php - 使用 PDO 设置 LIMIT 时忽略数据库重复项

jQuery 输入限制数字/数字为 4,但文本可以是无限长度

mysql - 基于连接添加列

php - 搜索在 Laravel 5.1 中不起作用

MySQL 效率 - 2 个单独的表或连接

postgresql - 在没有 ORDER BY 子句的情况下使用 "SELECT * .. LiMIT start, count"扫描 MySQL 中的表是否正确?

node.js 按域计算带宽使用

mysql - SQL限制+计数

mysql - 行大小为 8135,大于允许的最大大小 (8126)

sql - 如何为动态生成 Select 语句的 30 列表创建索引