NGram BloomFilter 索引已添加,Query Profile 中找不到 RowsBloomFilterFiltered 等相关指标

Viewed 18

我在 Doris 4.x 中对表 bc_oc_oc_order_sub_ods 的 sharding_flag 字段添加了 NGram BloomFilter 索引,配置如下:

SET enable_function_pushdown = true;

ALTER TABLE bc_oc_oc_order_sub_ods
ADD INDEX idx_sharding_flag_ngram(sharding_flag)
USING NGRAM_BF PROPERTIES("gram_size"="3", "bf_size"="1024");

ALTER TABLE bc_oc_oc_order_main_ods
ADD INDEX idx_sharding_flag_ngram(sharding_flag)
USING NGRAM_BF PROPERTIES("gram_size"="3", "bf_size"="1024");

ALTER TABLE bc_oc_oc_order_quality_ods
ADD INDEX idx_sharding_flag_ngram(sharding_flag)
USING NGRAM_BF PROPERTIES("gram_size"="3", "bf_size"="1024");

执行以下查询时,已开启 SET enable_function_pushdown = true;,且通过 SHOW ALTER TABLE COLUMN 确认 Schema Change 状态为 FINISHED:

查询SQL:
SELECT order_sub_no
FROM bc_oc_oc_order_sub_ods
WHERE sharding_flag LIKE '%POS%'
AND del_flag = 0
GROUP BY order_sub_no;

问题现象:

在 Query Profile 中找不到以下指标(既不存在,也没有值):

RowsBloomFilterFiltered
BlockConditionsFilteredBloomFilterTime

已排查项:

✅ enable_function_pushdown = true 已设置
✅ Schema Change 状态为 FINISHED
✅ LIKE 模式 '%POS%' 长度为 3,满足 gram_size = 3 的要求
✅ 索引列类型为 varchar,符合 NGram BloomFilter 仅支持字符串列的要求
想咨询:

NGram BloomFilter 索引在什么情况下 Query Profile 中才会出现相关指标?
是否有其他原因导致索引未被使用?
是否有推荐的调试方法来确认索引是否真正生效?
Doris 版本: Doris4.0.4

0 Answers