MySql 执行计划

在sql语句前加上 explain。得到的信息有10行:id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra。

  1. id:标识SQL执行的顺序,id越大越早执行。
  2. select_type: select的类型,有SIMPLE、PRIMARY–最外层的select、UNION–UNION中第二个或者后面的select语句、DRIVED–派生表的select
  3. table:表名,如果没有表名,就是derivedx ,x就是id为x的语句执行的结果
  4. type: 很重要,显示连接使用了何种类型,从好到差依次为system、const、eq_ref、ref、range、indexhe、ALL
  5. possible_keys: 列出可能使用到的索引
  6. key: 决定使用的索引
  7. key_len: 使用的索引的长度
  8. ref:MySQL 扫描的行数,越少越好
Written on July 8, 2017