MySQL用索引解释过滤列跳跃4,100

Web*_*net 6 mysql query-optimization sql-execution-plan

我的查询:

EXPLAIN EXTENDED SELECT  `artwork`.`id` ,  `artwork`.`added` 
FROM  `artwork` 
ORDER BY  `artwork`.`added` DESC 
LIMIT 0 , 6
Run Code Online (Sandbox Code Playgroud)

当我在"添加"上添加索引以避免使用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
Run Code Online (Sandbox Code Playgroud)

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  
Run Code Online (Sandbox Code Playgroud)

而且我担心过滤的上升大约是4,100 - 我在Google上找不到什么filtered意思

Con*_*ler 6

嘿,这实际上是个好消息.它显示了您的限制从结果集中删除了多少行.在这种情况下,那将是你的LIMIT陈述. 参见手册:

filtered列指示将按表条件过滤的表行的估计百分比.也就是说,rows显示了所检查的估计行数,而 rows× filtered/ 100显示了将与之前的表连接的行数.如果您使用EXPLAIN EXTENDED,则会显示此列.