专栏名称: 数据分析与开发
伯乐在线旗下账号,分享数据库相关技术文章、教程和工具,另外还包括数据库相关的工作。偶尔也谈谈程序员人生 :)
目录
今天看啥  ›  专栏  ›  数据分析与开发

京东:MySQL 中的 distinct 和 group by 哪个效率更高?太刁钻!

数据分析与开发  · 公众号  · 数据库  · 2024-10-10 09:07
    

主要观点总结

本文主要讨论了数据库查询中的两个关键字:distinct和group by。在语义相同且有索引的情况下,两者的效率相同;在语义相同但无索引的情况下,distinct的效率高于group by。文章还介绍了从MySQL 8.0开始,对group by的优化更新以及推荐group by的原因。

关键观点总结

关键观点1: distinct和group by的基础使用

介绍了distinct和group by的基本语法和使用方式。

关键观点2: 两者在语义相同且有索引的情况下的效率

在语义相同且有索引的情况下,distinct和group by都能使用索引,效率相同。

关键观点3: 两者在语义相同但无索引的情况下的效率差异

在语义相同但无索引的情况下,distinct的效率高于group by,原因是group by可能会进行隐式排序,导致触发filesort,sql执行效率低下。

关键观点4: MySQL 8.0对group by的优化更新

从MySQL 8.0开始,优化了group by的操作,不再进行隐式排序,提高了执行效率。

关键观点5: 推荐group by的原因

介绍了推荐group by的原因,包括其语义更为清晰,能进行更复杂的业务处理。


免责声明

免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。 原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过 【版权申诉通道】联系我们处理。

原文地址:访问原文地址
总结与预览地址:访问总结与预览
推荐产品:   推荐产品
文章地址: 访问文章快照