思考题
将子查询改为联表查询,先聚合后 join,避免对表中每行记录都进行聚合计算
select
t1.id,
t1.a,
t2.avg_b
from
tab t1
inner join (
select
a,
avg(b) avg_b
from
tab
group by
a
) t2 on t1.a = t2.a
order by
id;
10000 rows in set (0.04 sec)
作者回复: 这样改效果不错👍
123
2024-09-27来自浙江
老师,文中说到“const 表示查询最多返回 1 行记录。对主键或唯一索引的所有字段都使用常量等值匹配时,type 为 const。优化器会将 type 为 const 的查询单元直接替换为常量表。”这个常量表具体指什么,是如何产生的?该主键索引的查询到的值不也是需要通过B+树层级扫描链接获取到吗?