为了更快的定位您的问题,请提供以下信息,谢谢
【详述】把count(*) 改为以时间分隔,再union all时。得到的数值不准确。一边导入数据一边查询就会不准。停止导入就准了。如下图:
【背景】做聚合测试。
【业务影响】
【是否存算分离】是
【StarRocks版本】例如:3.3.3
【集群规模】例如:docker
为了更快的定位您的问题,请提供以下信息,谢谢
【详述】把count(*) 改为以时间分隔,再union all时。得到的数值不准确。一边导入数据一边查询就会不准。停止导入就准了。如下图:
2023-12-30的结果有问题?确认下这期间是不是做过delete操作?
这个期间没有删除操作,我写了一个简单 的程 序,不停的通过routine load方式导入。然后去查询。union all的两条记录加起来。和count(*) 一次性单独查是不相等的。 然后停掉导入脚本,union all方式查出来的两个值 ,就相等了。
导入数据全为create_date=2024-04-10
create_date 为分区键
持续导入中:
select count( ) c from tb_order_day where create_date>=‘2023-12-30’; 结果正确
select count( ) c from tb_order_day where create_date<‘2023-12-30’; 结果正确
select count( ) from tb_order_day ;结果正确
select count() c from tb_order_day where create_date>=‘2023-12-30’ union all select count() c from tb_order_day where create_date<‘2023-12-30’; 结果异常。
停止导入:
select count() c from tb_order_day where create_date>=‘2023-12-30’ union all select count(*) c from tb_order_day where create_date<‘2023-12-30’; 结果正确。