mysql> select max(`c2`) from t_myJPP1CZbdhGL0hGRp4Wed where BITMAP_CONTAINS(BITMAP_FROM_BASE64('AjswAAAB9QUJAAEAAOEJAA=='), `@id`) limit 100000;
+-----------+
| max(`c2`) |
+-----------+
| 560.21 |
+-----------+
1 row in set (34.73 sec)
如上, 我们从Clickhouse切换到Doris, 但是发现Doris的Bitmap函数性能很低,同样的10亿行数据集和资源,Clickhouse的BITMAP_CONTAINS执行6秒左右,但是Doris需要花费35秒左右,有大佬知道这个符合预期吗,有没有其他的替换解决思路呢
===========补充==========
mysql> select max(`c2`) from t_myJPP1CZbdhGL0hGRp4Wed where BITMAP_CONTAINS(BITMAP_FROM_ARRAY([100000000]), BITAND(`@id`, 4294967295)) limit 100000;
+-----------+
| max(`c2`) |
+-----------+
| 378.93 |
+-----------+
1 row in set (0.31 sec)
mysql>
mysql>
mysql> select max(`c2`) from t_myJPP1CZbdhGL0hGRp4Wed where BITMAP_CONTAINS(BITMAP_FROM_BASE64('AjowAAABAAAA9QUAABAAAAAA4Q=='), BITAND(`@id`, 4294967295)) limit 100000;
+-----------+
| max(`c2`) |
+-----------+
| 378.93 |
+-----------+
1 row in set (47.70 sec)
mysql>
mysql> select bitmap_to_array(BITMAP_FROM_BASE64('AjowAAABAAAA9QUAABAAAAAA4Q=='));
+---------------------------------------------------------------------+
| bitmap_to_array(BITMAP_FROM_BASE64('AjowAAABAAAA9QUAABAAAAAA4Q==')) |
+---------------------------------------------------------------------+
| [100000000] |
+---------------------------------------------------------------------+
1 row in set (0.05 sec)
看起来像是BITMAP_FROM_BASE64函数被每行执行了一次?