第6章、查询性能优化

6.1、为什么查询速度会慢

6.2.1、是否向数据库请求了不需要的数据

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

6.3、重构查询的方式

6.3.1、一个复杂查询还是多个简单查询

6.3.2、切分查询

6.3.3、分解关联查询

6.4、查询执行的基础

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

6.4.2、查询缓存

6.4.3、查询优化处理

6.4.4、查询执行引擎

6.4.5、返回结果给客端

6.5、MySQL查询优化器的局限性

6.5.1、关联子查

6.5.2、UNION的限制

6.5.3、索引合并优化

6.5.4、等值传递

6.5.5、并行执行

6.5.6、哈希关联

6.5.7、松散索引扫描

6.5.8、最大值和最小值优化

6.5.9、在同一个表上查询和更新

6.6、查询优化器的提示(hint)

6.7、优化特定类型的查询

6.7.1、优化 t COUNTO查询

6.7.2、优化关联查询

6.7.3、优化子查询

6.7.4、优化 GROUP BY DISTINCT

6.7.5、优化 LIMIT分页

6.7.6、优化 SQLCALC FOUND ROWS

6.7.7、优化 UNION查询

6.7.8、静态查询分析

6.7.9、使用用户自定义变量

6.8、案例学习

6.8.1、使用 MySQL构建一个队列

6.8.2、计算两点之间的距离

6.8.3、使用用户自定义函数

6.9、总结