文章预览
作者 :猾枭 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;
………………………………