admin

如何在SQL中使用“ LIMIT”参数?

sql

例如,我有4000行,并且定义了X限制。

找到X行后查询停止?还是查询找到所有行,然后从找到的行中获取X行?

谢谢你。


阅读 188

收藏
2021-05-10

共1个答案

admin

MySQL参考手册

如果您将LIMIT row_count与ORDER
BY一起使用,MySQL会在找到排序结果的前row_count行后立即结束排序,而不是对整个结果进行排序。如果通过使用索引进行排序,这将非常快。如果必须完成文件排序,则必须先选择所有与查询匹配而没有LIMIT子句的行,并且必须对大多数或全部行进行排序,然后才能确定已找到第一个row_count行。无论哪种情况,在找到初始行之后,都不需要对结果集的其余部分进行排序,而MySQL不会这样做。

因此,看起来很 可能
LIMIT应用之前就知道了整个结果集。但是MySQL会尝试所有无法做到的事情。而且,您可以通过提供与查询匹配的有用索引来帮助它。

编辑:此外,如果未对集合进行排序,则在将SELECT足够的行流式传输到结果集后,它将终止操作。

2021-05-10