当前位置: 首页 > 面试题库 >

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

马星阑
2023-03-14
问题内容

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

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

谢谢你。


问题答案:

从MySQL参考手册:

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

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

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



 类似资料:
  • 问题内容: 问题答案: 这是从MySQL数据库知识库中获得的: LIMIT子句可用于约束SELECT语句返回的行数。 LIMIT接受一个或两个数字参数,这两个参数都必须是非负整数常量(使用预处理语句时除外)。 为了使查询正常工作,您需要将其编写为 准备好的语句 ,然后执行该 语句 。

  • 本文向大家介绍如何使用LIMIT查询MongoDB?,包括了如何使用LIMIT查询MongoDB?的使用技巧和注意事项,需要的朋友参考一下 使用limit()方法查询MongoDB。让我们创建一个包含文档的集合 在find方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是在MongoDB中使用LIMIT的查询- 这将产生以下输出-

  • 问题内容: 我正在尝试创建一个简单的图像库,每页显示16张图像。我使用LIMIT 16在页面上显示正确的数量,但是如果行数超过16,我想在底部显示链接,以允许用户导航到下一页。 我知道我可以通过删除限制并简单地使用循环来显示前16个项目来达到期望的结果,但是这样效率很低。显然,COUNTING行数总是= 16。 有人可以建议一种更有效的方法吗? 谢谢 问题答案: 除了要获取其他人都提到的计数的单独

  • 问题内容: 我正在通过此方法使用RESTfull Web服务: 在我的Android应用中,我想调用此方法。如何使用org.apache.http.client.methods.HttpPost给参数赋予正确的值; 我注意到我可以使用批注@HeaderParam并将标题添加到HttpPost对象。这是正确的方法吗?这样做: 在httpPost上使用setEntity方法将不起作用。它仅使用json

  • 本文向大家介绍如何在PowerShell中使用ErrorAction参数?,包括了如何在PowerShell中使用ErrorAction参数?的使用技巧和注意事项,需要的朋友参考一下 像ErrorActionPreference变量一样,ErrorAction参数的工作原理类似。高级功能和PowerShell中大多数内置cmdlet均支持ErrorAction参数。将非终止错误转换为终止错误,然后

  • 我有下面的restcontroller,想用< code>thedate=2016-08-08格式获取-查询控制器。 它应该自动转换为。但是我的 无法正常工作。为什么? 结果: “thedate”:无法将类型[java.lang.String]的属性值转换为属性“thedate”所需的类型[Java . time . local date];嵌套异常为org . spring framework