MySQL语句explain详解(3)

|  2 | UNION        | t1        | ALL  | NULL              | NULL    | NULL    | NULL  | 1000 |      |

|NULL | UNION RESULT | <union1,2> | ALL  | NULL              | NULL    | NULL    | NULL  | NULL |      |

+----+--------------+------------+-------+-------------------+---------+---------+-------+------+-------+

(5).SUBQUERY

子查询中的第一个SELECT.

mysql> explain select * from t1 where id = (select id from t1 where id=888 )  ;

+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------------+

| id | select_type | table | type  | possible_keys    | key    | key_len | ref  | rows | Extra      |

+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------------+

|  1 | PRIMARY    | t1    | const | PRIMARY,idx_id    | PRIMARY | 4      | const |    1 |            |

|  2 | SUBQUERY    | t1    | const | PRIMARY,idx_id    | PRIMARY | 4      |      |    1 | Using index |

+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------------+

(6).  DEPENDENT SUBQUERY

子查询中的第一个SELECT,取决于外面的查询

mysql> explain select id from t1 where id in (select id from t1 where id=888 )  ;

+----+--------------------+-------+-------+-------------------+---------+---------+-------+------+--------------------------+

| id | select_type        | table | type  | possible_keys    | key    | key_len | ref  | rows | Extra                    |

+----+--------------------+-------+-------+-------------------+---------+---------+-------+------+--------------------------+

|  1 | PRIMARY            | t1    | index | NULL              | PRIMARY | 4      | NULL  | 1000 | Using where; Using index |

|  2 | DEPENDENT SUBQUERY | t1    | const | PRIMARY,idx_id    | PRIMARY | 4      | const |    1 | Using index              |

+----+--------------------+-------+-------+-------------------+---------+---------+-------+------+--------------------------+

(7).DERIVED

派生表的SELECT(FROM子句的子查询)

mysql> explain select * from (select * from t1 where id=888) a ;

+----+-------------+------------+--------+-------------------+---------+---------+------+------+-------+

| id | select_type | table      | type  | possible_keys    | key    | key_len | ref  | rows | Extra |

+----+-------------+------------+--------+-------------------+---------+---------+------+------+-------+

|  1 | PRIMARY    | <derived2> | system | NULL              | NULL    | NULL    | NULL |    1 |      |

|  2 | DERIVED    | t1        | const  | PRIMARY,idx_id    | PRIMARY | 4      |      |    1 |      |

+----+-------------+------------+--------+-------------------+---------+---------+------+------+-------+

3.table

显示这一行的数据是关于哪张表的.

有时不是真实的表名字,看到的是derivedx(x是个数字,我的理解是第几步执行的结果)

mysql> explain select * from (select * from ( select * from t1 where id=888) a) b;

+----+-------------+------------+--------+-------------------+---------+---------+------+------+-------+

| id | select_type | table      | type  | possible_keys    | key    | key_len | ref  | rows | Extra |

+----+-------------+------------+--------+-------------------+---------+---------+------+------+-------+

|  1 | PRIMARY    | <derived2> | system | NULL              | NULL    | NULL    | NULL |    1 |      |

|  2 | DERIVED    | <derived3> | system | NULL              | NULL    | NULL    | NULL |    1 |      |

|  3 | DERIVED    | t1        | const  | PRIMARY,idx_id    | PRIMARY | 4      |      |    1 |      |

+----+-------------+------------+--------+-------------------+---------+---------+------+------+-------+

4.type

这列很重要,显示了连接使用了哪种类别,有无使用索引.

从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALL

(1).system

这是const联接类型的一个特例。表仅有一行满足条件.如下(t1表上的id是 primary key)

mysql> explain select * from (select * from t1 where id=888) a ;

+----+-------------+------------+--------+-------------------+---------+---------+------+------+-------+

| id | select_type | table      | type  | possible_keys    | key    | key_len | ref  | rows | Extra |

+----+-------------+------------+--------+-------------------+---------+---------+------+------+-------+

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/55222151011ee80eed7c19244d86116e.html