我先建立了一张聚合表A,导入了大约1200万数据
然后又建立了一张聚合表B,设置了非key列的Z字段为 bitmap BITMAP_UNION 类型
然后使用如下sql将A表的数据导入到B表
insert into B (c,d,e,z)
select c,d,e,bitmap_hash64(e) from A
使用
select count(distinct e) from B
耗时大概 0.5秒 左右,count结果 11631333
使用
select bitmap_union_count(z) from B
耗时大概 10秒 左右,count结果 11631333
bitmap的性能反而远远低于distinct,这是什么原因呢?还是我使用的方式不对呀?
(e字段为varchar类型,所以导入的时候使用了bitmap_hash64转换了一下,是否这一步导致的bitmap的count性能远低于distinct)