MySQL调优--05---多表查询优化、子查询优化、 ORDER BY优化、GROUP BY优化、分页查询优化

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


多表查询优化

驱动表结论

1.外连接

左外连接: 一般来说:左表为驱动表,右边为被驱动表

2.内连接

对于内连接来讲,如果表的连接条件中只能有一个字段有索引,则有索引的字段所在的表会被作为被驱动表出现。

对于内连接来说,在两个表的连接条件都存在索引的情况下,会选择小表作为驱动表。“小表驱动大表

join语句原理

多表联查–06— join语句原理

在这里插入图片描述

子查询优化

在这里插入图片描述

子查询执行效率不高的原因

在这里插入图片描述

优化

在MYsql 中,可以使用(JOIN )查询代替子查询,性能会更好

在这里插入图片描述

在这里插入图片描述

ORDER BY优化

排序优化

在这里插入图片描述
在这里插入图片描述

案例

1. 创建索引
  • CREATE INDEX idx_age_classid_name ON student (age,classid,NAME);
2. 不限制,索引失效
  • EXPLAIN SELECT SQL_NO_CACHE * FROM student ORDER BY age,classid;

在这里插入图片描述

优化器优化策略:查询所有记录,如果走所以索引排序,还需要全部记录回表操作,所以不如全表扫描,加入内存再进行排序快.

3.增加limit过滤条件,----使用上索引了
  • EXPLAIN SELECT SQL_NO_CACHE * FROM student ORDER BY age,classid LIMIT 10;
    在这里插入图片描述
4.不用回表覆盖索引,----使用上索引了
  • EXPLAIN SELECT SQL_NO_CACHE age,classid,name,id FROM student ORDER BY age,classid;
    在这里插入图片描述

小结

在这里插入图片描述
在这里插入图片描述

filesort算法:双路排序和单路排序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

GROUP BY优化

在这里插入图片描述

分页查询优化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值