MySQL语句explain详解(2)

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

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

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

(3).UNION

UNION中的第二个或后面的SELECT语句.例如

mysql> explain select * from t1 where id=888 union all select * from t1 ;

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

| 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 | UNION        | t1        | ALL  | NULL              | NULL    | NULL    | NULL  | 1000 |      |

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

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

(4).DEPENDENT UNION

UNION中的第二个或后面的SELECT语句,取决于外面的查询

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

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

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

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

|  1 | PRIMARY            | t1        | ALL    | NULL              | NULL    | NULL    | NULL  | 1000 | Using where              |

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

|  3 | DEPENDENT UNION    | t1        | eq_ref | PRIMARY,idx_id    | PRIMARY | 4      | func  |    1 | Using where; Using index |

|NULL | UNION RESULT      | <union2,3> | ALL    | NULL              | NULL    | NULL    | NULL  | NULL |                          |

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

(4).UNION RESULT

UNION的结果。

mysql> explain select * from t1 where id=888 union all select * from t1 ;

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

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

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

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

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

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