注册
达梦数据库:“超出全局 hash join 空间”问题处理
专栏/龙山溪笔谈/ 文章详情 /

达梦数据库:“超出全局 hash join 空间”问题处理

myth8860 2021/02/04 4014 2 0
摘要 达梦数据库:“超出全局 hash join 空间”问题处理

有些项目中会出现 HJ_BUF_GLOBAL_SIZE 设置不当造成应用报错的问题,详细信息如下:

dm.jdbc.driver.DMException: 超出全局 hash join 空间,适当增加HJ_BUF_GLOBAL_SIZE   at dm.jdbc.driver.DBError.throwException(DBError.java:657)   at dm.jdbc.a.b.p.H(MSG.java:582)   at dm.jdbc.a.b.p.E(MSG.java:542) ......

要解决这个问题有两种办法:

  • 治标的方法:修改 HJ_BUF_GLOBAL_SIZE 参数,这个参数是动态参数,可以通过以下命令修改
SP_SET_PARA_VALUE(1,'HJ_BUF_GLOBAL_SIZE', 3000); --具体按照内存大小来确定
  • 治本的方法:找到报错的SQL语句进行优化,将hash join优化为nest loop
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服