跳至主要內容

Mysql EXPLAIN

ZiSu约 337 字大约 1 分钟

Mysql EXPLAIN

EXPLAIN 是 SQL 中用于获取查询执行计划的命令。它可以帮助你分析查询的性能瓶颈,优化查询语句。
以下是使用 EXPLAIN 的教程:

1. 基本用法

在 SQL 查询前添加 EXPLAIN 关键字,即可获取该查询的执行计划。

EXPLAIN select NOW()

2. 输出解读

执行上述命令后,数据库将返回查询的执行计划。以下是一些常见的输出列及其含义:

  • id: 操作的标识符,值越大表示操作越先执行。
  • select_type: 查询的类型(简单查询、子查询等)。
  • table: 正在访问的表。
  • partitions: 查询涉及的分区。
  • type: 访问类型(全表扫描、索引扫描等)。
  • possible_keys: 可能使用的索引。
  • key: 实际使用的索引。
  • key_len: 使用的索引长度。
  • ref: 与索引比较的列或常量。
  • rows: 预计需要访问的行数。
  • filtered: 表示通过查询条件过滤后的行数百分比。
  • Extra: 额外信息(如是否使用临时表、文件排序等)。

3. 优化查询

根据 EXPLAIN 的输出,可以优化查询性能:

  • 使用索引: 确保查询使用了适当的索引。
  • 减少行数: 通过优化查询条件减少需要访问的行数。
  • 避免全表扫描: 尽量避免 ALL 类型的全表扫描。
上次编辑于:
贡献者: SuWeiMing