starrocks慢查询分析

【详述】tpc-h测试 query3 122s
【背景】tpc-h测试 query3
【业务影响】
【StarRocks版本】2.1.4
【集群规模】2fe(1 follower+1observer)+4be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,128C/512G/千兆
【附件】profile.yml (603.3 KB)

  • profile.yml
  • 慢查询:
    • Profile信息
    • 并行度:8
    • cbo是否开启:show variables like ‘%cbo%’;
      image
    • be节点cpu和内存使用率截图

:frowning_face:

请问下表的分桶都是多少,麻烦发下explain costs + sql的结果

explain cost sql.txt (21.1 KB)
customer 24
lineitem 96
orders 96

分别执行下

analyze full table lineitem;
analyze full table orders;
analyze full table customer;

执行完了之后再执行下查询

奇怪了.1727.0ms.数据导入后更新了一次统计信息后面就没有更新过,中间也没有修改和删除,为什么统计信息会有影响呢

中间没有进行过任何表的数据变更?可以查下fe.audit.log中这三个表的所有操作。默认的抽样统计是每天。另外还有可能是默认的抽样统计可能有些偏差导致的。

确实没有,导入完就 ANALYZE FULL了。一直跑的都是查询,没有数据变更。


1.22号建的表导入数据analyze full.23号最后一次抽样统计
2.数据没有变化也会抽样统计么

抽样统计不是analyze full,analyze full是全量抽样,具体可以参考采样统计,目前看起来应该是抽样统计有些误差导致。

能告我一下怎么看出来和统计信息有关的嘛

一般看explain costs + sql的结果,可以对比执行analyze full table $table前后统计信息部分的结果

不合理的,统计信息部分是一些默认值或者部分是默认值

合理:有统计信息输出