【问题标题】:Mysql: To retrieve all rows using LIMITMysql:使用 LIMIT 检索所有行
【发布时间】:2013-01-11 06:16:11
【问题描述】:

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

如果我这样做有区别SELECT * FROM tbl LIMIT 18446744073709551615;

vs SELECT * FROM tbl LIMIT 1000; ?

根据MYSQL Limit syntax

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

我正在尝试使用关键字 LIMIT

实现全选

【问题讨论】:

    标签: mysql limit


    【解决方案1】:

    两者完全不同,

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

    第一次查询时,从第96行中选择记录,选择的记录总数为逗号后的数字。

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

    对于已编辑的问题::

    这两个限制是相同的,并且执行会有所不同,直到您的表中最多有 1000 行。

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

    【讨论】:

    • 对不起,我编辑了我的问题,我的意思是说 Limit 中有一个非常大的值,而当这两个值都超出了表中元素的数量时;当表只有 5 个条目时,基本上只是想比较 LIMIT 18446744073709551615 和 LIMIT 1000
    【解决方案2】:

    我认为两者都将返回相同的,根本没有区别

    【讨论】:

      猜你喜欢
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 2015-04-12
      • 2014-06-28
      • 1970-01-01
      • 2012-09-02
      • 2013-12-20
      • 1970-01-01
      相关资源
      最近更新 更多