南大通用数据库-Gbase-8a-报错集锦-06-Stack Overflow

目录

一、数据库版本信息

二、报错信息

三、报错SQL

四、解决方法

1、修改参数thread_stack

2、改写SQL

(1)改为内连接

(2)临时表


一、数据库版本信息

南大通用数据库-Gbase-8a-报错集锦-06-Stack Overflow_第1张图片

二、报错信息

三、报错SQL

SQL包含2000多个or条件。

四、解决方法

1、修改参数thread_stack

名称 描述
参数名 thread_stack
取值 [1024L*128L,ULONG_MAX]
说明 用于控制每一个线程的栈的大小,默认大小 即可。
修改方式 可在配置文件中修改值。

适当调大,调度节点层和数据节点层都需要修改,改完重启集群,可能能避免这个问题。

因为是每个线程的栈的大小,在并发高的情况下,内存资源占用会比较多,不太建议改太大。

2、改写SQL

上面的SQL为例,SQL包含2000多个or条件,是由报表工具生成的,里面的PRODUCT_ID大概率是由另一个复杂SQL或业务表中抽出来,再拼接成现在的形式。建议使用这种方法避开此问题。

(1)改为内连接

将复杂SQL或业务表作为另一张表,和此表做内连接。

(2)临时表

如果复杂SQL的执行耗时较长,且复用率比较高,可以建一张临时表,插入复杂SQL的数据,再和此表做内连接。

你可能感兴趣的:(#,Gbase-8a-报错集锦,数据库)