【MySQL-索引调优】11:Group by相关概念

作用 :把结果集按照某些字段分组,每组再进行聚合计算(如 COUNT, SUM, AVG, MAX, MIN

例如:

sql 复制代码
SELECT user_id, COUNT(*) AS order_count
FROM orders
GROUP BY user_id;

1-GROUP BY的两种执行方式

1-1.有索引

利用索引分组,执行流程:

复制代码
扫描索引
→ 同 user_id 的数据天然连续
→ 直接统计

1-2.无索引

临时表分组,执行流程:

复制代码
扫描数据
→ 放入临时表
→ 排序
→ 再聚合

2-最左匹配原则

GROUP BY 想用索引,必须满足,最左匹配原则:

sql 复制代码
GROUP BY 字段 = 索引最左列
# 例如:
# 索引:(user_id,status),SQL:GROUP BY user_id,可以使用索引
# 索引:(user_id,status),SQL:GROUP BY status,不能使用索引
相关推荐
每天都要进步哦14 小时前
SQL单行函数详解:字符、数字、日期、转换与通用函数全解析
数据库·mysql
不剪发的Tony老师14 小时前
VeloxDB:一款免费开源的轻量级数据库管理工具
数据库·sql
dotnet9014 小时前
批量生成所有表的修改脚本
数据库·sql·oracle
@Mike@14 小时前
06-数据库学习笔记(存储模型与数据压缩)
数据库·笔记·学习
南凉北往15 小时前
PandasAI连接LLM对MySQL数据库进行数据分析
数据库·mysql·数据分析
回眸不遇15 小时前
详谈 QT 布局 QLayout::SizeConstraint 和 QSizePolicy 对 QWidget 尺寸的影响
数据库·qt·系统架构
2601_9657984715 小时前
MTDb Movie & TV Database Script Setup, Caching, and SEO Guide
linux·服务器·数据库·php
zdl68616 小时前
EasyMarkets:“机器人商业化仍待验证”
数据库·机器人
Freak嵌入式16 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
Elastic 中国社区官方博客16 小时前
Elastic 和 OpenAI 合作,将前沿智能引入非结构化企业数据
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai