1

以下哪个符号更好?

SELECT id,name,data FROM table WHERE id = X

或者

SELECT id,name,data FROM table WHERE id = X LIMIT 1

我认为它不应该有“限制”。

谢谢!

4

2 回答 2

2

如果存在唯一约束,id那么它们将完全相同。

如果没有唯一约束(我会在名为 的列上发现非常令人惊讶id),那么哪个更好取决于您想要做什么:

  • 如果要查找与条件匹配的所有行,请不要使用LIMIT.
  • 如果您想查找与条件匹配的任何行(并且您不在乎哪个),请使用LIMIT 1.
于 2012-06-02T05:53:50.023 回答
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

即使找到那个id,它也会遍历1000条记录但是如果你像这样使用LIMIT

SELECT id,name,data FROM table WHERE id = X LIMIT 1

比找到第一条记录时它会停止执行。

于 2012-06-02T06:01:12.037 回答