select * 和 select count(*) 返回的记录总数不一致问题

【详述】
发现2个问题,关于2.3.2的

  1. 使用select * from rx_bd_test.test_partition_table_001; 和show data from rx_bd_test.test_partition_table_001;查询的结果不一致

  2. 集群上查询select * 和 使用工具(dbeaver,datagrip)查询的不一致。跟show data from rx_bd_test.test_partition_table_001查询的rowcount是一致的。

  3. 使用工具(dbeaver,datagrip)查询 count(*) 是跟真实记录数是一致的,select * 返回的记录数不一致。



  1. 如果长时间不导入数据,过好长时间过后,select * 和 select count(*) 和 show data from table 才能一致。

建表语句:
CREATE TABLE test_partition_table_001 (
time datetime NULL COMMENT “”,
user_id varchar(65533) NULL COMMENT “”,
days date NULL COMMENT “”,
num double NULL COMMENT “”
) ENGINE=OLAP
DUPLICATE KEY(time, user_id)
COMMENT “OLAP”
PARTITION BY RANGE(days)
(PARTITION p20221105 VALUES [(‘2022-01-01’), (‘2022-11-06’)),
PARTITION p20221106 VALUES [(‘2022-11-06’), (‘2022-11-07’)),
PARTITION p20221107 VALUES [(‘2022-11-07’), (‘2022-11-08’)),
PARTITION p20221108 VALUES [(‘2022-11-08’), (‘2022-11-09’)),
PARTITION p20221109 VALUES [(‘2022-11-09’), (‘2022-11-10’)),
PARTITION p20221110 VALUES [(‘2022-11-10’), (‘2022-11-11’)),
PARTITION p20221111 VALUES [(‘2022-11-11’), (‘2022-11-12’)),
PARTITION p20221112 VALUES [(‘2022-11-12’), (‘2022-11-13’)),
PARTITION p20221113 VALUES [(‘2022-11-13’), (‘2022-11-14’)),
PARTITION p20221114 VALUES [(‘2022-11-14’), (‘2022-11-15’)),
PARTITION p20221115 VALUES [(‘2022-11-15’), (‘2022-11-16’)),
PARTITION p20221116 VALUES [(‘2022-11-16’), (‘2022-11-17’)),
PARTITION p20221117 VALUES [(‘2022-11-17’), (‘2022-11-18’)),
PARTITION p20221118 VALUES [(‘2022-11-18’), (‘2022-11-19’)),
PARTITION p20221119 VALUES [(‘2022-11-19’), (‘2022-11-20’)),
PARTITION p20221120 VALUES [(‘2022-11-20’), (‘2022-11-21’)),
PARTITION p20221121 VALUES [(‘2022-11-21’), (‘2022-11-22’)),
PARTITION p20221122 VALUES [(‘2022-11-22’), (‘2022-11-23’)),
PARTITION p20221123 VALUES [(‘2022-11-23’), (‘2022-11-24’)),
PARTITION p20221124 VALUES [(‘2022-11-24’), (‘2022-11-25’)),
PARTITION p20221125 VALUES [(‘2022-11-25’), (‘2022-11-26’)),
PARTITION p20221126 VALUES [(‘2022-11-26’), (‘2022-11-27’)),
PARTITION p20221127 VALUES [(‘2022-11-27’), (‘2022-11-28’)),
PARTITION p20221128 VALUES [(‘2022-11-28’), (‘2022-11-29’)),
PARTITION p20221129 VALUES [(‘2022-11-29’), (‘2022-11-30’)),
PARTITION p20221130 VALUES [(‘2022-11-30’), (‘2022-12-01’)),
PARTITION p20221201 VALUES [(‘2022-12-01’), (‘2022-12-02’)),
PARTITION p20221202 VALUES [(‘2022-12-02’), (‘2022-12-03’)),
PARTITION p20221203 VALUES [(‘2022-12-03’), (‘2022-12-04’)),
PARTITION p20221204 VALUES [(‘2022-12-04’), (‘2022-12-05’)),
PARTITION p20221205 VALUES [(‘2022-12-05’), (‘2022-12-06’)),
PARTITION p20221206 VALUES [(‘2022-12-06’), (‘2022-12-07’)),
PARTITION p20221207 VALUES [(‘2022-12-07’), (‘2022-12-08’)),
PARTITION p20221208 VALUES [(‘2022-12-08’), (‘2022-12-09’)),
PARTITION p20221209 VALUES [(‘2022-12-09’), (‘2022-12-10’)),
PARTITION p20221210 VALUES [(‘2022-12-10’), (‘2022-12-11’)),
PARTITION p20221211 VALUES [(‘2022-12-11’), (‘2022-12-12’)),
PARTITION p20221212 VALUES [(‘2022-12-12’), (‘2022-12-13’)),
PARTITION p20221213 VALUES [(‘2022-12-13’), (‘2022-12-14’)),
PARTITION p20221214 VALUES [(‘2022-12-14’), (‘2022-12-15’)),
PARTITION p20221215 VALUES [(‘2022-12-15’), (‘2022-12-16’)))
DISTRIBUTED BY HASH(time) BUCKETS 32
PROPERTIES (
“replication_num” = “3”,
“dynamic_partition.enable” = “true”,
“dynamic_partition.time_unit” = “DAY”,
“dynamic_partition.time_zone” = “Asia/Shanghai”,
“dynamic_partition.start” = “-30”,
“dynamic_partition.end” = “30”,
“dynamic_partition.prefix” = “p”,
“dynamic_partition.buckets” = “32”,
“in_memory” = “false”,
“storage_format” = “DEFAULT”,
“enable_persistent_index” = “false”
);

期望结果是:不管是集群内查询还是使用工具查询,select * 和 select count(*) 返回的结果是一致的。

【背景】每分钟向表里到入1条数据 (直插入 timedaysnum
【业务影响】
【StarRocks版本】2.3.2
【集群规模】例如:3fe+3be(混布)

Show data 返回的结果行数,不是一个准确的值。

工具查询的时候 select * 和 select count(*) 的结果也不一致。但是 select * 跟 show data 返回的结果是一致的

select * 和 select count(*)不一致?

嗯,不一致




用datagrip查询也是一样。结果不一致。

https://github.com/StarRocks/starrocks/pull/13407 这个 PR 已fix 这个问题

有办法解决吗?发现2.4.1和2.4.0中都有这个问题,select count()有数,select *就没看有返回

这个貌似解决不了,打包发布不行,还有其他方案吗?

2.4.2解决了这个问题,还未发布

急需的话,可以基于branch-2.4自己编译一个FE