一、explain分析工具
explain是mysql的执行计划查看工具,用于分析一个查询语句的性能。
其三种格式如下:
explain select ...
explain extended select ... # 该命令将执行计划反编译成select语句,运行 show warnings 可以得到被mysql优化后的查询语句
explain partitions select... # 该命令用于分区表的explain命令
explain 命令的输出有以下字段:
id| select_type | table | type | possible_keys | key | key_len | ref | rows | Extra
下面详细叙述explain输出的各项内容。
1、id
表示查询中执行select子句或操作表的顺序,id为几就代表是第几个select。
如果id相同,则执行的循序由上到下,例如:
mysql> explain select t.id,t.name,count(*) as arts_count from arts a join type t on a.tid=t.id where is_send=0 group by t.id\G;
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: t
partitions: NULL
type: ALL
possible_keys: PRIMARY
key: NULL
key_len: NULL
ref: NULL