栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MIN / MAX与ORDER BY和LIMIT

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MIN / MAX与ORDER BY和LIMIT

在最坏的情况下,如果要查看未索引的字段,则使用

MIN()
需要对表进行一次完整的遍历。使用
SORT
并且
LIMIT
需要一个文件排序。如果针对大表运行,则预期的性能可能会存在显着差异。作为无意义的数据点,我的开发服务器上的106,000行表
MIN()
花了0.36秒
SORT
LIMIT
花了0.84秒。

但是,如果您正在查看索引列,则很难注意到差异(两种情况下无意义的数据点均为0.00s)。但是,查看一下explain的输出,看起来好像

MIN()
可以简单地从索引中选取最小值(“
Select table Optimized away”和“ NULL”行),而
SORT
and
LIMIT
仍需要对索引进行有序遍历(106,000行)。实际的性能影响可能微不足道。

它看起来像是

MIN()
要走的路-
在最坏的情况下更快,在最好的情况下没有区别,它是标准SQL,最清楚地表达了您想要获得的价值。正如mson所提到的,似乎唯一希望使用
SORT
和的
LIMIT
情况是,您正在编写一个通用运算,该运算从任意列中查找前N个值或后N个值,因此不值得写出特殊情况的操作。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/394012.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号