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

目录

 

一、数据库版本信息

二、报错信息

三、报错SQL

四、解决方法

1、修改参数thread_stack

2、改写SQL

(1)改为内连接

(2)临时表


 

一、数据库版本信息

0a65a1210466b9624180c291e3877c14.png

 

二、报错信息

2752fcc27372813967d92984c9429f20.png

 

三、报错SQL

07e70f5e7d82b7c34e3dc3e103a4b73c.png

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的数据,再和此表做内连接。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值