fe集群和单台fe,除了高可用,性能上有差距吗

fe集群和单台fe,除了高可用,性能上有差距吗

性能上会有差距的,但是不会有特别明显的提升的。

select count() from a 结果是2千多w条,
explain select count(
) from a 结果显示cardinality为3千多w条,请问我从哪可以了解这块的逻辑呢

请问下这个表是unique key模型吗?

image

您好验证测试了下,原因在于unique key模型会有多个版本。
可以参考:https://docs.starrocks.com/zh-cn/latest/table_design/Data_model#更新模型
会导致扫描时实际扫描的数据量,跟count(*)查询出来的数据量不一致。

感谢,我了解一下

想请教个问题
1.lQLPJxazRkTKEozNAeHNAZGwj10j0nnxZbUDJsokooCFAA_401_481 ,一下子从0.23变成0.05,是因为缓存吗
2.更新模型,我能看到某个id的各个版本吗

  1. 查询过后,旧的版本数据会被清理掉,而且还会有缓存
  2. 目前看不到的

1.您的意思是我查询前几次的时候还在处理旧版本的数据,因为我查询了好几次,都是0.23秒左右,等处理完了,后面的查询的时间才是稳定查询的耗时?但是我插入1千万数据的时候,同样sql,基本上都是0.1秒多,达不到0.0几秒

image
image
数据量上去了不少,反倒是查询快了,这是什么情况

咱们每次导数完成之后执行下analyze full table table_name然后再重新查询试下呢

另外建议在测试时关闭page cache disable_storage_page_cache 设置为true
为了防止因为之前查询引起的数据合并,可以每次建一张新的表来测试。

咱们是不是异步处理数据呢,先把数据导进去,然后再合并数据,我有时能看到数据文件特别大,查着查着数据文件就小了,而且不定期的处理,导入同样的数据,有的到3g多就清成1g多,有时候2g多就处理了

是merge-on-read这种模式,具体的可以参考下官网的数据模型文章

好像跟您说的不是一个问题把,我想问的是,什么时候处理这数据呢,不是每次查询处理,也不是每导一次数据处理,查询测着测着,就从5或者6秒,变成0.1秒左右了,总有触发的条件吧,1千多w数据的时候0.1秒,2千多万数据的时候就0.0几秒,4k多w的时候,有时候5秒多,有时候又是0.1秒,这个不好解释啊