同一个表,同一个sql,加上索引后查询速度反而慢了

【详述】同一个表,同一个sql,加上索引后查询速度反而慢了
【背景】对一个主键表,加上bitmap索引,并在where中使用该字段过滤数据
【业务影响】
【StarRocks版本】1.19.5
【集群规模】例如:3fe (3follower) +3be
【机器信息】16c 32G
【附件】
有索引的Profile.log (26.8 KB)
没有索引的profile.log (26.8 KB)
ddl.log (13.6 KB)
sql
– 117ms 没索引
select count(1) from core_order where createdon between ‘2019-01-01’ and ‘2019-01-05’ ;

– 250ms 有bitmap索引
select count(1) from core_order2 where createdon between ‘2019-01-01’ and ‘2019-01-05’ ;

这个基数太低了,总共就几千行数据,bitmap索引对于基数特别低的并不能很好优化,不是说加了索引一定会快,这里认知有偏差。建议用实际业务复杂sql或者大批量数据等计算去对比

低基数的bitmap index没有效果甚至负面效果的问题,在2.1版本已经优化了。可以稍微等等新版本。
你这个case 已经 100+ms了 不需要索引了。一般中高基数的过滤加索引效果比较好,低基数有一些已经有优化了

但是这个是几百万的表,基数应该挺大的