七万号·数据平台实战手记

Back

① 标题党#

主标题Doris 查询慢?先看看它有没有"小众索引" 备选前缀索引、布隆、倒排——Doris 的索引三兄弟谁最能打?

② 开场钩子#

Doris 有三大”隐形加速器”,但很多人只会建表、不会用它们。用对了,查询快一个量级;用错了,白占空间。

③ 主角特性:三类索引#

  • 前缀索引(ShortKey Index):排序键的前缀自动生效,等值/范围查询直接定位,零成本。
  • BloomFilter 索引:对”高基数、低命中率”列加,先做存在性过滤,大比例剪枝
  • 倒排索引(Inverted Index):自 1.2 起支持,用于全文/子串/精确匹配,如日志检索。

④ 最小可复现#

-- 排序键=前缀索引(建表时排序键顺序决定)
CREATE TABLE t (id, name, val) ORDER BY (id, name);

-- BloomFilter
PROPERTIES ("bloom_filter_columns" = "name");

-- 倒排
CREATE INDEX idx_name ON t(name) USING INVERTED;
sql

⑤ 结论#

前缀索引白送、布隆剪枝、倒排抓文本。把三者对症下药,Doris 的扫描成本能砍一个数量级。

⑥ 配图脚本#

三兄弟对比卡 / 前缀定位图谱 / 布隆剪枝示意 / 倒排查找文本


索引三兄弟:前缀索引、BloomFilter、倒排
https://realcpf.tech/blog/doris-05
Author 刘佳成
Published at 2026年9月1日