SQL执行报错Memory of query_pool exceed limit,如何解决?

【StarRocks版本】2.3.16
【集群规模】4fe+4be(32核-128G)
SQL执行报错:ERROR 1064 (HY000): Memory of query_pool exceed limit. try consume:104857600 Used: 100097526896, Limit: 100192997079. Mem usage has exceed the limit of query pool
请问如何解决呢?

@jingdan

您好 这个报错意思是 内存使用量已超出查询池的限制 query_pool是指 BE 查询层使用总内存

要解决这个问题,可以考虑以下两个点:

  1. 优化查询 :优化查询本身, 看下这个复杂sql是否有优化的空间 可以生成个profile 看下具体资源耗费在哪里 使用合适的索引、减少不必要的数据加载等。通过优化查询,可以减少查询对内存的需求,从而避免超出查询池的内存限制。
  2. 扩容资源
    扩容be节点

扩容be节点个数,还是增大be节点内存呢?

1赞