经由过程SHOW STATUS 敕令可以查看实际的行操作,该敕令注解物理读操作数量大年夜幅增长。请看下面的示例:
- mysql> SHOW SESSION STATUS LIKE 'Handler_read%';
- +--------------------------------------+---------+
- | Variable_name | Value |
- +--------------------------------------+---------+
- | Handler_read_first | 1 |
- | Handler_read_key | 164 |
- | Handler_read_last | 0 |
- | Handler_read_next | 107 |
- | Handler_read_prev | 0 |
- | Handler_read_rnd | 0 |
- | Handler_read_rnd_next | 161 |
- +--------------------------------------+---------+
相干的QEP 列还包含key列。
2.3 possible_keys
possible_keys 列指出优化器为萌芽选定的索引。
一个会列出大年夜量可能的索引(例如多于3 个)的QEP 意味着备选索引数量太多了,同时也可能提示存在一个无效的单列索引。
可以用第2 章具体介绍过的SHOW INDEXES 敕令来检查索引是否有效且是否具有合适的基数。
为萌芽肯定QEP 的速度也会影响到萌芽的机能。如不雅发明有大年夜量的可能的索引,则意味着这些索引没有被应用到。
相干的QEP 列还包含key 列。
2.4 key_len
key_len 列定义了用于SQL 语句的连接前提的键的长度。此列值对于确认索引的有效性以及多列索引顶用到的列的数量很重要。
此列的一些示例值如下所示:
此列的一些示例值如下所示:
- key_len: 4 // INT NOT NULL
- key_len: 5 // INT NULL
- key_len: 30 // CHAR(30) NOT NULL
- key_len: 32 // VARCHAR(30) NOT NULL
- key_len: 92 // VARCHAR(30) NULL CHARSET=utf8
大年夜这些示例中可以看出,是否可认为空、可变长度的列以及key_len 列的值只和用在连接和WHERE 前提中的索引的列有关。索引中的其他列会在ORDER BY或者GROUP BY 语句中被用到。下面这个来自于有名的开源博客软件WordPress 的表展示了若何故最佳方法应用带有定义好的表索引的SQL 语句:
- CREATE TABLE `wp_posts` (
推荐阅读
一方面,我们不懂得须要若干瘪据才能让问题收敛。另一方面,实际机械人进行一次操作须要消费时光、可能会造成伤害、会破坏实验前提(须要人工恢复)等,采集数据会比图像辨认、语音辨认难度大年夜很多。 >>>详细阅读
本文标题:MySQL EXPLAIN命令详解学习
地址:http://www.17bianji.com/lsqh/34650.html
1/2 1

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