优化器

优化器并不关心表使用的是什么存储引擎,但存储引擎对于优化查询是有影响的。优化器会请求存储引擎提供容量或某个具体操作的开销信息,以及表数据的统计信息等进行优化。

优化器主要作用是分析SQL语句,并生成一个高效的执行计划。这个执行计划详细地描述了数据库引擎如何处理SQL语句,包括索引的选择、表的连接顺序、排序方式等等。

用户可以通过特殊的关键字(hint)提示优化器,详见hint-查询优化提示,影响它的决策过程,也可以在查询语句最前面加个 explain 命令,这样就会输出这条 SQL 语句的执行计划。详见Explain总结。