mysql> EXPLAIN EXTENDED SELECT * FROM table WHERE column = 1 LIMIT 10;
+----+-------------+----------+------+---------------+--------------+---------+-------+--------+----------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+----------+------+---------------+--------------+---------+-------+--------+----------+-------+
| 1 | SIMPLE | table | ref | column | column | 1 | const | 341878 | 100.00 | |
+----+-------------+----------+------+---------------+--------------+---------+-------+--------+----------+-------+
1 row in set, 1 warning (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
过滤后的列的含义是什么,数字应该高还是低?是的,我已经阅读了文档,但我不太明白这个数字表示什么或者认为哪些值是可取的.
该filtered列是估计的百分比,指定将与上一个表连接的行数.在你的情况下,它是100%,即所有行.
的rows,因为你知道大概,是查询检查的行数的估计,因此rows x filtered / 100将是不得不作出(左行数将表条件后)加入的数量.
有关其他信息,请参阅MySQL Optimizer中的新增功能 - MySQL查询优化器中的新功能(幻灯片10).
编辑:
有一个在附录高性能的MySQL(第二版),这表明本书优化目前使用这个估计值(filtered仅适用于)ALL,index,range和index_merge访问方法.
| 归档时间: |
|
| 查看次数: |
3756 次 |
| 最近记录: |