Doris中的Bitmap索引的作用是什么?

提问者:帅平 问题分类:面试刷题
Doris中的Bitmap索引的作用是什么?
1 个回答
命中不缺狗
命中不缺狗
Doris中Bitmap索引的核心作用是针对低基数列(即重复值多的字段)实现高效的多值精确查询与复杂条件过滤,其优势主要体现在以下三个层面:
1、加速精确查询与集合运算
假设有1亿用户数据,其中gender字段仅有2种取值(基数=2),city字段有100个城市(基数=100)。对查询WHERE gender='male' AND city IN ('北京','上海'):
​无索引时​:需逐行扫描过滤,时间复杂度O(n)。
​使用Bitmap索引​:通过位运算直接合并gender='male'的位图与city='北京'、city='上海'的位图,时间复杂度降至O(1)。实际测试中,此类查询速度可提升10倍以上。
2、高效支持多列复杂条件组合
Bitmap索引通过位向量(Bit Vector)的AND/OR/NOT操作实现灵活过滤
3、节省存储空间与提升压缩效率
每个唯一值仅存储一个位向量(如性别为‘男’的位图是0b1010...),且Doris采用压缩算法(如Roaring Bitmap)进一步减少存储占用。实测显示,对于基数100的字段,Bitmap索引空间仅为原始数据的1/5。
发布于:2周前 (05-21) IP属地:
我来回答