- ********************* 1. row ***********************
- id: 1
- select_type: SIMPLE
- table: inventory
- type: ref
- possible_keys: item_id
- key: item_id
- key_len: 4
- ref: const
- rows: 1
- Extra:
QEP 中每个行的所有列表如下所示:
id
select_type
table
partitions(这一列只有在EXPLAIN PARTITIONS 语法中才会出现)
possible_keys
key
key_len
ref
rows
filtered(这一列只有在EXPLAINED EXTENDED 语法中才会出现)
这些列展示了SELECT 语句对每一个表的QEP。一个表可能和一个物理模式表或者在SQL 履行时生成的内部临时表(例如大年夜子萌芽或者归并操作会产生内部临时表)相接洽关系。
可以参考MySQL Reference Manual 获得更多信息:http://dev.mysql.com/doc/refman/5.5/en/explain-output.html。
2.1 key
key 列指出优化器选择应用的索引。一般来说SQL 萌芽中的每个表都仅应用一个索引。也存在索引归并的少数例外情况,如给定表上用到了两个或者更多索引。
下面是QEP 中key 列的示例:
key: item_id
key: NULL
key: first, last
SHOW CREATE TABLE <table>敕令是最简单的查看表和索引列细节的方法。和key 列相干的列还包含possible_keys、rows 以及key_len。
2.2 ROWS
萌芽中总的读操作数量是基于归并之前行的每一行的rows 值的持续积聚而得出的。这是一种嵌套行算法。
以连接两个表的QEP 为例。经由过程id=1 这个前提找到的第一行的rows 值为1,这等于对第一个表做了一次读操作。第二行是
经由过程id=2 找到的,rows 的值为5。这等于有5 次读操作相符当前1 的积聚量。参考两个表,读操作的总数量是6。在另一个QEP
rows 列供给了试图分析所有存在于累计结不雅集中的行数量标MySQL 优化器估计值。QEP 很轻易描述这个很艰苦的统计量。
中,第一rows 的值是5,第二rows 的值是1。这等于第一个表有5 次读操作,对5个积聚量中每个都有一个读操作。是以两个表
总的读操作的次数是10(5+5)次。
最好的估计值是1,一般来嗣魅这种情况产生在当寻找的行在表中可以经由过程主键或者独一键找到的时刻。
鄙人面的QEP 中,外面的嵌套轮回可以经由过程id=1 来找到,其估计的物理行数是1。第二个轮回处理了10行。
推荐阅读
一方面,我们不懂得须要若干瘪据才能让问题收敛。另一方面,实际机械人进行一次操作须要消费时光、可能会造成伤害、会破坏实验前提(须要人工恢复)等,采集数据会比图像辨认、语音辨认难度大年夜很多。 >>>详细阅读
本文标题:MySQL EXPLAIN命令详解学习
地址:http://www.17bianji.com/lsqh/34650.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示