在仅存在一条记录的mysql中,“ limit 10”和“ limit 100”之间是否有区别?

时间:2019-05-17 05:25:23

标签: mysql sql

如标题所示,如果表中只有一条记录,则两个查询是否相同:

select * from table limit 10;

select * from table limit 100000;

谢谢。

5 个答案:

答案 0 :(得分:0)

我不知道mysql中LIMIT的实现,但是基于下面的链接,如果查询返回的值小于LIMIT,我认为这没有什么区别。

Does adding 'LIMIT 1' to MySQL queries make them faster when you know there will only be 1 result?

答案 1 :(得分:0)

在这种情况下,投放限制不会影响您的最终结果。但是您应该意识到,在查询中设置限制确实会影响查询的性能。

答案 2 :(得分:0)

我还没有研究过mysql,但是在Postgresql的背景下,虽然有所不同,但没有太多考虑。 您可以通过在查询前面加上前缀来查看差异 EXPLAIN ANALYZE,它将输出QUERY PLAN

=# EXPLAIN ANALYZE select * from table limit 10;
=# EXPLAIN ANALYZE select * from table limit 100000;

这将为您提供

之类的参数
  • 实际时间
  • 计划时间
  • 执行时间
  • 还有更多...

mysql可能也有可用的内容。 我希望这将有所帮助。

答案 3 :(得分:-1)

这不会影响您的最终结果,但是如果您知道只有一条记录,那么最好不要使用limit,因为如果将limit设置为100,它将在内存中保留额外的99个指针。

答案 4 :(得分:-4)

不要设置限制,因为它限制了显示在屏幕上的记录,因此请尽量避免将来再获取更多记录时给您带来麻烦。另外,如果您想查询更快更有效的使用限制编号,则希望根据您的要求在页面中显示