限制为0的SQL查询

Lin*_* Ma 13 sql

我看到人们编写SQL查询,例如,

select count(*) 
from xxx_table 
where yyy='abc' 
limit 0
Run Code Online (Sandbox Code Playgroud)

想知道这里有什么限制0?提到一些文件和讨论仍然感到困惑.

Art*_*ski 17

根据MySQL文档:
LIMIT 0快速返回一个空集.这对于检查查询的有效性非常有用.如果您使用的MySQL API可以使结果集元数据可用,它也可以用于获取结果列的类型.

  • @Lin Ma:'空集'表示你没有从这样的查询中获得任何行.`SELECT COUNT..`产生一行(和其他`SELECT`语句一样) - 但你不会看到它. (2认同)
  • 所以这个查询基本上所做的就是检查提到的表和列是否存在。 (2认同)

Mos*_*our 5

我认为它仅用于解析查询。

在简单的方法查询执行步骤是:

  1. 解析查询
  2. 制定执行计划(包括选择要使用的最佳索引)。
  3. 从磁盘获取数据。