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

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

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

文章预览

作者 :猾枭 https://blog.csdn.net/weixin_42615847/article/details/118342524 结论 distinct的使用 group by的使用 distinct和group by原理 推荐group by的原因 结论 先说大致的结论(完整结论在文末): 在语义相同,有索引的情况下: group by 和distinct都能使用索引,效率相同。 在语义相同,无索引的情况下:distinct效率高于 group by 。原因是distinct 和 group by 都会进行分组操作,但 group by 可能会进行排序,触发filesort,导致sql执行效率低下。 基于这个结论,你可能会问: 为什么在语义相同,有索引的情况下, group by 和distinct效率相同? 在什么情况下, group by 会进行排序操作? 带着这两个问题找答案。接下来,我们先来看一下distinct和 group by 的基础使用。 distinct的使用 distinct用法 SELECT DISTINCT columns FROM table_name WHERE where_conditions; 例如: mysql> select distinct age from student; ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览