题解 | #查询结果限制返回行数#

查询结果限制返回行数

http://www.nowcoder.com/practice/c7ad0e2df4f647dfa5278e99894a7561

select device_id from user_profile limit 0,2---运行效率更高

select device_id from user_profile limit 2 ---运行效率低

也可结合 limit offset: 一起使用时,limit表示要取的数量,offset表示跳过的数量

select device_id from user_profile limit 2 offset 0 // 跳过0条,从第一条数据开始取,取两条数据 ---运行效率中

全部评论
0是初始记录行的偏移量,2是从0开始偏移的量,就相当于坐标,用坐标去查肯定更快
12 回复 分享
发布于 2022-02-24 15:45
可能是因为不加0,mysql会以2个2个这样区分开来,然后返回开始的2个。加了0,直接说明从第一个开始,找2个,完事不用理后面的。。
9 回复 分享
发布于 2022-02-24 10:19
在牛客在线SQL上,耗时没啥区别额?
2 回复 分享
发布于 2022-08-19 01:15 上海
效率是一样的,默认就是0
1 回复 分享
发布于 2023-01-31 09:49 美国
在 MySQL 中,LIMIT 子句的性能主要依赖于几个因素,包括查询的复杂性、表的大小、是否有适当的索引、以及数据库的配置。对于简单的查询,如从一个小表中选择数据,这三种写法的性能差异可能微乎其微。然而,对于大表或更复杂的查询,性能差异可能会变得显著。 以下是这三种写法的性能考虑: 1. LIMIT 0,2:这种写法指定了起始偏移量和要返回的记录数。对于大表,如果没有适当的索引,数据库可能需要扫描表中的多行来找到正确的起始点,然后返回两条记录。这可能会比只指定返回的记录数更耗时。 2. LIMIT 2:这种写法只指定了要返回的记录数,没有指定偏移量。数据库可以直接返回前两条记录,而不需要先定位到特定的起始点。这通常比指定偏移量更快,特别是在没有索引或查询优化的情况下。 3. LIMIT 2 OFFSET 0:这种写法同时指定了偏移量和要返回的记录数。虽然偏移量为 0,不会改变查询的结果,但数据库仍然需要处理偏移量,这可能会比只指定返回的记录数稍微慢一些。
点赞 回复 分享
发布于 2024-03-06 13:55 江苏
扯***蛋
点赞 回复 分享
发布于 2024-02-23 10:34 广东
测量几遍 不知道理论谁更快,不过测试情况下 2条数据还是limt 2 快一点 占用内存也少一点,具体是否和数据量有关系不知道
点赞 回复 分享
发布于 2023-05-22 15:51 江苏
对呀,为什么加了一个0会更快,难道说从0开始查找,限制两个的意思吗
点赞 回复 分享
发布于 2022-01-19 11:29
为什么加一个0会更快呢?是精确查找的意思吗?
点赞 回复 分享
发布于 2021-12-17 19:14

相关推荐

不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
点赞 评论 收藏
分享
06-11 13:34
门头沟学院 C++
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
评论
173
29
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务