MariaDB Explain输出中type列值为ref|filter代表什么含义?
MariaDB 10.5中EXPLAIN
type列的ref|filter含义 ref|filter是MariaDB 10.5及后续版本里EXPLAIN输出的一种复合type值,它代表当前执行步骤同时包含两种逻辑:
ref逻辑:优化器使用非唯一索引(或唯一索引的前缀)进行等值匹配,快速定位到满足索引条件的候选行,这部分和官方文档定义的ref类型行为一致。filter逻辑:在通过ref获取到候选行后,优化器会对这些行额外应用未被索引覆盖的过滤条件,进一步筛选出完全符合查询要求的数据。
这种复合类型出现的场景,通常是你的查询同时用到了索引能覆盖的等值条件,以及另一些无法通过索引直接过滤的条件(比如范围判断、不在索引中的字段条件)。优化器先通过索引快速缩小范围,再在小范围内做二次过滤,以此平衡查找效率和过滤精度。
官方文档未单独提及这个值,大概率是文档更新滞后于优化器的特性迭代,但它的本质是ref索引查找+后续行过滤的组合操作。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

