如此处的MySQL文档所述:
已过滤的列指示将被表条件过滤的表行的估计百分比。也就是说,行显示了检查的行的估计数,行×过滤后的行数/ 100显示了将与以前的表连接的行数。在MySQL 5.7.3之前,如果使用EXPLAIN EXTENDED,则会显示此列。从MySQL 5.7.3开始,默认情况下启用扩展输出,并且EXTENDED关键字是不必要的。
我还是不明白。“过滤”在这里是什么意思?我们可以从本专栏获得什么信息?
例如,当我开始查询时,某些查询将显示100,而另一些则显示18或任何低于100的查询。
+-------------+-------+--------+---------+---------+------+----------+
| select_type | table | type | key | key_len | rows | filtered |
+-------------+-------+--------+---------+---------+------+----------+
| PRIMARY | a | range | search | 4 | 174 | 18.00 | <--
| PRIMARY | b | eq_ref | PRIMARY | 4 | 1 | 100.00 |
| PRIMARY | c | ALL | PRIMARY | 4 | 1 | 100.00 |
我们可以从该值得出什么主要结论?
就是说,该栏仅过滤了18%?或者,如果分数越低,则索引/查询越好?
我正在使用MySQL 5.7