Bloomfilter Index

Bloomfilter Index 是 Lakehouse 的等值过滤加速索引,通过在数据文件级别记录列值的存在性,让查询引擎在扫描前快速跳过不包含目标值的文件,减少 I/O。

工作原理

Bloomfilter 是一种概率数据结构,能快速判断"某个值是否可能存在于某个数据块中":

  • 不存在:100% 准确,直接跳过该数据块
  • 可能存在:需要实际读取验证(存在极低概率的误判)

适用场景

场景效果
高基数列的等值过滤(如
user_id = 12345
user_id = 12345
显著减少扫描文件数
点查询(按 ID 查单条记录)大幅提升查询速度
范围查询(
BETWEEN
BETWEEN
>
>
<
<
无效,不适合
低基数列(如性别、状态)效果有限,不推荐

创建示例

-- 建表时创建 Bloomfilter Index CREATE TABLE orders ( order_id BIGINT, user_id BIGINT, amount DECIMAL(10,2), INDEX idx_user_id (user_id) USING BLOOMFILTER ); -- 在已有表上添加 ALTER TABLE orders ADD INDEX idx_order_id (order_id) USING BLOOMFILTER;

相关文档

联系我们
预约咨询
微信咨询
电话咨询