Skip to content

Latest commit

 

History

History
22 lines (18 loc) · 1.42 KB

189、explain 的执行计划?.md

File metadata and controls

22 lines (18 loc) · 1.42 KB

189、explain 的执行计划?

EXPLAIN是一个用于分析MySQL查询语句的关键字,可以帮助我们了解MySQL是如何执行查询语句的。执行EXPLAIN查询后,MySQL将返回一张包含查询执行计划的结果集,执行计划描述了MySQL是如何处理查询语句的、使用哪些索引以及使用了哪些优化器等信息。 执行EXPLAIN查询时,需要在查询语句前加上EXPLAIN关键字,例如:

EXPLAIN SELECT * FROM table WHERE id = 1;

执行计划的结果集包含以下列:

  1. id:查询中每个SELECT子句和操作表的唯一标识符,可以用来标识哪些操作是相关的。
  2. select_type:查询的类型,包括简单查询、联合查询、子查询等。
  3. table:操作的表名。
  4. partitions:匹配到的分区。
  5. type:访问类型,包括全表扫描、索引扫描、范围扫描等。
  6. possible_keys:可能使用的索引。
  7. key:实际使用的索引。
  8. key_len:使用的索引长度。
  9. ref:连接匹配条件的列。
  10. rows:MySQL估计需要扫描的行数。
  11. filtered:过滤行的百分比。
  12. Extra:包含MySQL解决查询的详细信息,如使用的优化器、是否使用了临时表等。 通过分析执行计划,可以了解到MySQL是如何处理查询语句的、使用哪些索引以及使用了哪些优化器等信息,从而可以根据执行计划进行SQL性能优化。