mysql group by 优化
来源:互联网 发布:java 手游辅助 编辑:程序博客网 时间:2024/06/05 16:45
发现一个很神奇的事情。本以为mysql select 查询单单只有 where order by 时会进行 索引触发 没想到group by 也可以利用到对应的索引
首先创建一个试坑表
居然调用到name 这个索引了
后来找到一个group by 原理文章有个哥们是这么写的
满足GROUP BY子句的最一般的方法是扫描整个表并创建一个新的临时表,表中每个组的所有行应为连续的,然后使用该临时表来找到组并应用累积函数(如果有)。在某些情况中,MySQL能够做得更好,即通过索引访问而不用创建临时表。
为GROUP BY使用索引的最重要的前提条件是所有GROUP BY列引用同一索引的属性,并且索引按顺序保存其关键字。是否用索引访问来代替临时表的使用还取决于在查询中使用了哪部分索引、为该部分指定的条件,以及选择的累积函数。
由于GROUP BY 实际上也同样会进行排序操作,而且与ORDER BY 相比,GROUP BY 主要只是多了排序之后的分组操作。当然,如果在分组的时候还使用了其他的一些聚合函数,那么还需要一些聚合函数的计算。所以,在GROUP BY 的实现过程中,与 ORDER BY 一样也可以利用到索引。
看看是不是所有的引擎都可以使用。我这边单单只是试了InnoDB,MyISAM运行一下sql
0 0
- mysql group by优化
- mysql group by 优化
- MySQL Group By的优化
- MySQL优化之group by
- MYSQL优化之GROUP BY
- MySql Order by 、Group by优化
- MySQL GROUP BY 操作的优化
- Mysql group by语句的优化
- MySQL有关Group By的优化
- Mysql group by语句的优化
- mysql 随机RAND和GROUP BY优化
- MySQL之group by 优化(1)
- MySql 的group by having 优化案例
- MySQL Order by 、Group by 、Distinct的优化
- mysql的order by,group by和distinct优化
- mysql的order by,group by和distinct优化
- mysql的order by,group by和distinct优化
- mysql order by,group by和distinct优化
- PowerShell管理IIS
- Android源码内置自定义程序并运行
- android6.0 power显示(亮度等)深入分析(一)PowerManagerService & DisplayPowerController
- android.mk
- 多进程的相关知识
- mysql group by 优化
- MFC实现socket编程--远程获取服务器主机信息
- HDU 1016 Prime Ring Problem(经典DFS+回溯)
- 【python爬虫】游民星空福利和壁纸帖图片爬虫
- 三、腾讯统计和bugly追踪集成
- 欢迎使用CSDN-markdown编辑器
- Uva 11827 Maximum GCD(水题、读入杀)
- CSS3 RGBA 属性高级用法
- 个人博客成果展示