# 查询性能优化
前面讲解了如何设计 最优的库表结构、如何 建立最好的索引,还需要 合理的设计查询。如果查询写得很糟糕,即使库表结构再合理、索引再合适,也无法实现高性能。
在获得编写 MySQL 查询的经验的同时,也将学习到 如何为高效的查询设计表和索引。同样的,也可以学习到在 优化库表结构时会影响到那些类型的查询。这个过程需要时间,建议在学习后面章节时多回头看看这三章的内容。
本章将从查询设计的一些基本原则开始,这也是在发现查询效率不高的时候 首先需要考虑的因素。然后介绍一些更深的查询优化技巧,并会介绍一些 MySQL 优化器内部的机制。
我们将展示 MySQL 是如何执行查询的,你也将学会如何去改变一个查询的执行计划。最后,我们要看一下 MySQL 优化器在哪些方面做得还不够,并探索优化的模式,以帮助 MySQL 更有效的执行查询。