mysql执行计划怎么查

来源:这里教程网 时间:2026-02-28 18:12:03 作者:

如何查看 mysql 执行计划

执行计划是 MySQL 优化器在执行查询之前为查询生成的步骤序列。通过查看执行计划,您可以了解 MySQL 如何处理查询,并识别可能影响查询性能的潜在问题。

查看执行计划有以下几种方法:

EXPLAIN 关键字

EXPLAIN 关键字允许您查看查询的执行计划而不实际执行查询。语法如下:

<code>EXPLAIN [FORMAT {JSON | TREE | TRADITIONAL}] 查询;</code>

例如:

<code>EXPLAIN SELECT * FROM table_name;</code>

SHOWPLAN

SHOWPLAN 语句类似于 EXPLAIN,但它更详细,并且以表格的形式显示执行计划。语法如下:

<code>SHOWPLAN FOR 查询;</code>

performance_schema.setup_instruments

performance_schema.setup_instruments 表存储了当前语句的执行计划。要访问此信息,请执行以下查询:

<code>SELECT digest, cardinality FROM performance_schema.setup_instruments
WHERE SCHEMA_NAME = 'schema_name'
AND NAME = 'query_name';</code>

步骤展开

查看执行计划后,您可以展开步骤以获取更多详细信息。例如,对于 EXPLAIN 输出,可以使用以下语法:

<code>EXPLAIN FORMAT=TREE SELECT * FROM table_name;</code>

这将以树状结构显示执行计划,其中每个步骤都有其子步骤。

理解执行计划

执行计划的输出包括以下信息:

id: 步骤的 ID。 select_type: 步骤的类型,例如 SIMPLE、DEPENDENT SUBQUERY。 table: 正在访问的表。 type: 访问类型的访问类型,例如 ALL、INDEX、RANGE。 possible_keys: 可用于访问表的可能的索引。 key: 实际用于访问表的索引。 rows: 估计步骤返回的行数。 Extra: 有关步骤的其他信息,例如使用的索引。

通过理解执行计划,您可以识别查询中可能存在的问题,例如缺少索引、不合适的连接顺序或不必要的子查询。您可以使用这些信息来优化查询并提高其性能。

相关推荐