1.什么是执行计划
执行计划:就是mysql优化器在众多的执行路径中选择一条成本最低的路径作为执行计划,就是sql执行步骤的集合,执行计划的选择是根据数据的页,索引的页,以及统计信息等等,来推断出的,在某些情况下,mysql可能会选错最佳的执行计划。理解执行计划对于我们排查慢sql有着至关重要的作用。
2.查看mysql执行计划
在sql语句前面加上explain即可
执行计划中有几个比较关键的属性,我们来一一了解下。
2.1 id
1.id值相同,执行步骤由上至下。
2.id值不同,id大的先执行,小的后执行
3.id又有不同的,又有相同的,不同的大的先执行,相同的从上至下依次执行。
2.2 select_type
查询类型 | 含义 |
---|---|
SIMPLE | 简单查询,不含子查询,和联合查询union |
PRIMARY | 查询中最外层的SELECT |
SUBQUERY | 子查询如果不需要关联外部表 ,例如这种select f.* from film f where f.film_id |