首页 >> 基础教程
explain用法详解
EXPLAIN 是 MySQL 中用于分析 SQL 查询性能的重要工具,它可以帮助你理解 MySQL 如何执行你的查询,从而优化查询性能。
基本用法
EXPLAIN SELECT * FROM table_name WHERE condition; EXPLAIN UPDATE table_name SET column=value WHERE condition; EXPLAIN DELETE FROM table_name WHERE condition;
EXPLAIN 输出列解释
EXPLAIN 的输出包含以下重要列:
id: 查询标识符,表示查询中 SELECT 的顺序
select_type: 查询类型
SIMPLE: 简单 SELECT(不使用 UNION 或子查询)
PRIMARY: 最外层的 SELECT
SUBQUERY: 子查询中的第一个 SELECT
DERIVED: 派生表的 SELECT
UNION: UNION 中的第二个或后面的 SELECT
table: 访问的表名
partitions: 匹配的分区
type: 连接类型(性能从好到坏排序)
system: 表只有一行
const: 通过主键或唯一索引查找
eq_ref: 使用唯一索引关联
ref: 使用非唯一索引查找
range: 索引范围扫描
index: 全索引扫描
ALL: 全表扫描
possible_keys: 可能使用的索引
key: 实际使用的索引
key_len: 使用的索引长度
ref: 列与索引的比较
rows: 估计要检查的行数
filtered: 表条件过滤的行百分比
Extra: 额外信息
Using index: 使用覆盖索引
Using where: 使用 WHERE 条件
Using temporary: 使用临时表
Using filesort: 需要额外排序
结果中有多条数据中代表按顺序执行
最新文章
指数平滑法是什么?2026-03-04
mysql命令-mysqlimport2026-02-01
mysql命令-mysql_tzinfo_to_sql2026-02-01
mysql命令-mysql2026-02-01
mysql命令-my_print_defaults2026-02-01
mysql命令-mysqldumpslow2026-02-01
mysql命令-mysqld2026-02-01
mysql命令-mysql_secure_installation2026-02-01
mysql命令-myisampack2026-02-01
mysql命令-perror2026-02-01

发表评论
所有评论