2. 各列详解
eq_ref 这个值表示有一行是为了每个之前肯定的表而攫取的
1. 语法
MySQL 的EXPLAIN 语法可以运行在SELECT 语句或者特定表上。如不雅感化在表上,那么此敕令等同于DESC 表敕令。UPDATE和DELETE 敕令也须要进行机能改进,当这些敕令不是直接在表的主码上运行时,为了确保最优化的索引应用率,须要把它们改写成SELECT 语句(以便对它们履行EXPLAIN 敕令)。请看下面的示例:
- UPDATE table1
- SET col1 = X, col2 = Y
- WHERE id1 = 9
- AND dt >= '2010-01-01';
这个UPDATE语句可以被重写成为下面如许的SELECT语句:
- SELECT col1, col2
- FROM table1
- WHERE id1 = 9
- AND dt >= '2010-01-01';
在5.6.10版本琅绫擎,是可以直接对dml语句进行explain分析操作的.
MySQL 优化器是基于开销来工作的,它并不供给任何的QEP的地位。这意味着QEP 是在每条SQL 语句履行的时刻动态地计
算出来的。在MySQL 存储过程中的SQL 语句也是在每次履行时计算QEP 的。存储过程缓存仅仅解析萌芽树。
- mysql> SHOW SESSION STATUS LIKE 'Handler_read%';
- +-----------------------+-------+
- | Variable_name | Value |
- +-----------------------+-------+
- | Handler_read_first | 0 |
- | Handler_read_key | 0 |
- | Handler_read_last | 0 |
- | Handler_read_next | 0 |
- | Handler_read_prev | 0 |
- | Handler_read_rnd | 0 |
- | Handler_read_rnd_next | 11 |
- +-----------------------+-------+
- 7 rows in set (0.00 sec)
MySQL EXPLAIN敕令可以或许为SQL语句中的每个表生成以下信息:
2.5 table
- mysql> EXPLAIN SELECT *
推荐阅读
一方面,我们不懂得须要若干瘪据才能让问题收敛。另一方面,实际机械人进行一次操作须要消费时光、可能会造成伤害、会破坏实验前提(须要人工恢复)等,采集数据会比图像辨认、语音辨认难度大年夜很多。 >>>详细阅读
本文标题:MySQL EXPLAIN命令详解学习
地址:http://www.17bianji.com/lsqh/34650.html
1/2 1