2024年4月28日发(作者:)
mysql explain 级别
MySQL是目前最为广泛使用的开源关系型数据库,而
"EXPLAIN"是MySQL中最为基础的一个命令。它提供了数据
库询问优化器的执行过程,并返回一行合集。目的是为了
帮助用户了解SQL查询的执行过程和效率,以便对SQL查
询进行分析与优化。而EXPLAIN在MySQL中有多种级别,
本文就将详细讲述MySQL中各个级别的作用及使用方法。
一、EXPLAIN命令
EXPLAIN命令是MySQL数据库中优化语句的最基本体
现。该命令可以用于输出优化器对查询的执行计划。查询
执行计划是一个关于查询执行的结果集合的重要信息。当
一个查询存在性能问题时,使用EXPLAIN排查问题会非常
方便。
使用方法非常简单。只需要在要优化的SQL语句前添
加一个“EXPLAIN”关键字,数据库引擎将会输出查询的执
行计划。例如,我们要优化一条查询语句:
SELECT * FROM `user` WHERE `username` = 'xxxx';
只需要在前面加上EXPLAIN命令即可:
EXPLAIN SELECT * FROM `user` WHERE `username` =
'xxxx';
系统会输出以下信息:
id select_type table type possible_keys key
key_len ref rows Extra
1 SIMPLE user ref idx_username idx_username 103
const 1 Using index
二、EXPLAIN语句解释
在输出的查询执行计划中,文件头中的每个字段的意
义如下:
特别是其中的type字段,用来表示优化器选取了哪种
访问方式来访问表。各种访问方式的效率从差到好为:
system > const > eq_ref > ref > range > index >
all
三、EXPLAIN级别
MySQL中有多种EXPLAIN级别可供选择,分别适用于
不同的场景。下面逐一介绍各个级别:
1. EXPLAIN
该级别是最基础的级别,只能展示比较简单的查询语
句计划,不能窥见MySQL执行优化器的深层运作。但其简
洁的结果、直观的输出、易读性强以及查询速度快等特
点,使其成为优化查询的必备利器。
例如,当我们执行以下语句:
EXPLAIN select * from
information_slist limit 10;
发布评论