专栏名称: 码小辫
给程序员和编程爱好者分享计算机编程电子书以及相关的学习资源
今天看啥  ›  专栏  ›  码小辫

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

码小辫  · 公众号  ·  · 2024-10-17 17:10

文章预览

来源: 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; +------+ | ag ………………………………

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