1.explain的使用方法
mysql中的explain命令显示了mysql如何使用索引来处理select语句以及连接表。使用时直接在select语句前加上explain就行了。例子如下:
explain select * from orders;
运行结果如下:
创建索引后的运行结果如下:
2.explain每列的解释
1)id:select识别符,这是select查询序列号。
2)select_type:select的类型,可以有以下几种:simple:简单的select;primary:最外层的select;union:第二层,在select之后使用了union;subquery:子查询中的第一个select。
3)table:记录查询引用的表。
4)type:表连接的类型。
5)possible_keys:指mysql在搜素表记录时可能使用哪个索引。如果这个值为null,则表示没有索引被用到。
6)key:显示了mysql实际上要用的索引。
7)key_len:显示了mysql使用索引的长度。
8)ref:显示了哪些字段或者常量被用来和key配合从表中查询记录出来。
9)rows:显示了mysql认为在查询中应该检索的记录数。
10)extra:显示了查询中mysql的附加信息。