1. explain是干嘛的

使用EXPLAIN关键字可以模拟优化器执行sQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。

2. 几个重要的字段

1. type

显示查询使用了何种类型,从最好到最差依次是: system>const>eq_ref>ref>range>index>ALL ALL:读全表,从硬盘中读取 index:读全表,从索引中读取 range:范围扫描,开始于指定索引的某一端,结束于另一端,不需要扫描所有的索引 ref:非唯一性索引扫描,返回匹配某个值的单独行 备注:一般来说,得保证查询至少达到range级别,最好能达到ref

2. possbile_keys

用于这张表查询可能用到的索引,不一定用到

3. key

实际使用的索引

4. key_len

表示索引中使用的字节数

5. ref

显示那些索引被用了,如果可能,是一个常数

6. row

大概计算出得到所需的数据要读取的行数