以下哪种表示法更好?
SELECT id,name,data FROM table WHERE id = X
或
SELECT id,name,data FROM table WHERE id = X LIMIT 1
我认为它不应该有"限制"。
谢谢!
如果对
id
有唯一的约束,那么它们将是完全相同的。
如果没有唯一的约束(我会在名为 id
的列上发现非常令人惊讶),那么哪个更好取决于您要做什么:
- 如果要查找与条件匹配的所有行,请不要使用
LIMIT
。 - 如果要查找与条件匹配的任何行(并且您不在乎哪个行),请使用
LIMIT 1
.
即使您正在获取 1 条记录,也始终将 LIMIT 与 select 语句一起使用,因为它会加快您的查询速度。所以使用:
SELECT id,name,data FROM table WHERE id = X LIMIT 1
例如:如果表中有 1000 条记录,则
使用SELECT id,name,data FROM table WHERE id = X
比它将遍历 1000 条记录,即使找到 ID但是如果你像这样使用 LIMIT
SELECT id,name,data FROM table WHERE id = X LIMIT 1
比找到第一条记录时它将停止执行。