starrocks3.4.5同一张表多次查询结果不一致

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】执行select * 的时候 每次出来的数据不同
【业务影响】有影响
【是否存算分离】存算一体
【StarRocks版本】3.4.5
【集群规模】1fe+3be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【联系方式】vx:13060592794
【附件】

  • 在附件
  • 慢查询:
    • Profile信息
    • 并行度:show variables like ‘%parallel_fragment_exec_instance_num%’;
    • pipeline是否开启:show variables like ‘%pipeline%’;
    • be节点cpu和内存使用率截图
  • 查询报错:
    • query_dump,在附件,查询语法也在附件starrocks.zip (3.4 MB)

有点像有cache,试下
set enable_query_cache = false;

https://docs.starrocks.io/zh/docs/best_practices/query_tuning/query_profile_overview/ 参考这个获取一下 query profile. 然后看下1行的是不是被short-key index多过滤掉一行 这个大概率是早期PK版本 short-key index 排序有问题. 解决方法是尝试做compaction或者是重新导入数据。如果数据量不大可以重新导下

大佬 我关了这个依旧不行

大佬 我已经重新导入了数据 还是会7b998daa-690c-11f0-b644-00163e219c1fprofile.txt (387.8 KB) Attachment contains my query profile版本升级到了3.5.2

加我下微信我给你看下 CHN10151

才发现你这个是个view + row_number 。大概率SQL本身就不是稳定的
你在order by 里面加个这个谓词列的排序大概率就稳定了
partition by X order by A
你的结果列可能是
X A Y row_number
1 1 1 1
1 1 2 2
也可能是
1 1 2 1
1 1 1 2
所以你取 row_number = 1 Y列可能是1 也可能是 2,然后做谓词过滤你的结果就不是稳定的了