位图索引将不同的列值映射到紧凑的位数组。每个位代表一行:“1”表示该行具有该值,“0”表示没有。压缩技术可高效处理稀疏位图。这种结构在低基数列(不同值很少)中表现出色,常见于数据仓库维度(例如——gender——、——status——)和OLAP系统,用于快速过滤和计数。
处理海量数据集的最佳 SQL 引擎其核心原理利用直接的位级操作。查询条件转换为对位图的逻辑运算(AND、OR、NOT)。例如,查找——status='ACTIVE' AND region='EAST'——需要对“ACTIVE”和“EAST”位图执行按位AND运算,立即返回匹配的行。这使得在读取密集型分析工作负载中,复杂的多列过滤和聚合查询速度极快。
位图索引主要用于读取密集型系统(如数据仓库)中具有低到中等基数的列。它们非常适合同时对多列进行过滤,并加速维度模型中的星型连接查询。应避免在高基数列(例如唯一ID)、频繁写入的OLTP系统(位图更新成本高昂)或存储受到严格限制时使用它们。
这家伙太懒了,什么也没留下。