4.《高性能MySQL》个人读书笔记 - 【第6章 查询性能优化】

本文深入探讨了MySQL查询速度的优化,包括避免请求不必要的数据、减少扫描的行数、重构复杂查询以及理解查询执行过程。重点讨论了优化关联查询、COUNT()操作、子查询和GROUP BY/DISTINCT的方法,旨在帮助提升数据库性能和响应时间。
摘要由CSDN通过智能技术生成

1、浅析查询速度

2、慢查询基础:优化访问数据

2.1、是否向数据库请求了不需要的数据,典型的有:

  • 查询不需要的记录;
  • 多表关联时返回全部列;
  • 总是取出全部列;
  • 重复查询相同的数据;

2.2、MySQL是否在扫描额外的记录

  • 响应时间

  • 扫描的行数和返回的行数

  • 扫描的行数和访问的类型

3、重构查询的方式

3.1、考虑有必要的将一个复杂查询分成多个简单的查询

3.2、切分查询

3.3、分解关联查询

4、查询执行的基础

先看一下MySQL执行查询的过程:

接下来细看上面的步骤;

4.1、MySQL客户端/服务器通信协议

查询状态:

4.2、查询缓存:通过哈希查找实现的;

4.3、查询优化处理

下面是一些MySQL能够处理的优化类型:

将外连接转化成内连接、使用等价变换规则、优化COUNT()MIN()MAX()、预估并转化为常数表达式、覆盖索引扫描、子查询优化、提前终止查询、等值查询、列表IN()的比较;

4.4、查询执行引擎

4.5、返回结果给客户端

5、查询优化器的局限性

这一小部分整体来说讲的比较简单,大体上看看就好,部分细节以后再次阅读的时候自行补充;

6、优化特定类型的查询

6.1、优化COUNT()查询

6.2、优化关联查询

6.3、优化子查询

6.4、优化GROUP BY和DISTINCT

6.5、优化UNION查询

本章总结

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值