我的查询:
EXPLAIN EXTENDED SELECT `artwork`.`id` , `artwork`.`added`
FROM `artwork`
ORDER BY `artwork`.`added` DESC
LIMIT 0 , 6
当我在“已添加”上添加索引以避免使用filesort
并使用index
时,解释的输出来自
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE artwork ALL NULL NULL NULL NULL 302 100.00 Using filesort
到
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE artwork index NULL added 4 NULL 6 5033.33
并且我担心过滤的上升大约是4,100 - 我在Google上找不到filtered
的含义
答案 0 :(得分:6)
LIMIT
声明。 See the manual:
filtered
列表示表行的估计百分比 将由表格过滤 条件。也就是说,rows
显示了 估计的行数和rows
×filtered
/ 100显示了该数字 将与之连接的行数 以前的表格。这一栏是 如果您使用EXPLAIN EXTENDED,则会显示。
答案 1 :(得分:3)
来自docs:
filtered
filtered
列表示将按表条件过滤的表行的估计百分比。也就是说,rows
显示已检查的估计行数,rows × filtered / 100
显示将与之前的表连接的行数。如果您使用EXPLAIN EXTENDED
,则会显示此列。 (MySQL 5.1.12中的新功能)
基本上,它是返回记录的记录比率。
其目标是展示您的WHERE
/ ON
条件的选择性以及为其创建索引的好处。
请注意,此字段对于使用LIMIT
的查询几乎没有意义,因为它总是在不考虑LIMIT
子句的情况下计算,rows
根据后者进行计算。 / p>