MySQL执行计划是MySQL数据库优化的一个重要内容,查看执行计划可以了解查询语句的执行过程,找出影响查询性能的瓶颈,进行优化。
在MySQL中,我们可以通过EXPLAIN关键字来查看执行计划。EXPLAIN语句会模拟执行SQL语句,但并不会正真执行,它会返回查询的执行计划,通常包括以下信息:
id: 查询编号
select_type: 查询类型
table: 参与查询的表
partitions: 用到的分区
type: join类型
possible_keys: 可能使用的索引
key: 使用的实际索引
key_len: 索引长度
ref: 哪个列或常量被索引使用了
rows: 处理的行数
filtered: 该查询所过滤掉的百分比
Extra: 其他信息,如是否使用了临时表或文件排序等
理解执行计划可以找到查询语句出现的性能瓶颈,这个主要是通过type字段来判断的,type字段的值越优越,在查询优化的时候可以根据主观判断来改写查询语句,达到优化的目的。
下面一段演示如何查看执行计划:
EXPLAIN SELECT name, age, FROM students WHERE age >18;
执行上面的查询后,我们可以看到如下结果:
id: 1
select_type: SIMPLE
table: students
partitions: null
type: ALL
possible_keys: null
key: null
key_len: null
ref: null
rows: 3
filtered: 33.33
Extra: Using where
从上面的执行计划中,我们可以看到type字段为ALL,这说明本语句的优化性能并不好,需要优化。
总之,在MySQL优化的过程中,查看执行计划是必不可少的一个步骤,只有了解执行过程,才能找出性能瓶颈,进行优化。