本文于 8 天前发布,最后更新于 8 天前
一、问题背景
在执行 SQL 时插入数据,一条 insert 语句包含 16 个变量字段,一次性执行 2000 条 insert 语句。最终报错:Too big variables space [变量空间溢出]。
二、问题分析
达梦数据库中,绑定参数个数最大是 65535,否则会报错 [-5026]:超过最大参数个数 (65535)。此数量固定,没有参数控制该取值。
绑定的参数没有到 65535 的上限限制,SQL 执行也会报错:变量空间溢出
三、解决方案
- VM_STACK_SIZE 可以适当修改成 512,重启数据库,但是这样改不太推荐,怕库受不了。
- 最好还是改下 SQL,16 个参数 * 2000=3.2W 也有点多,最好是批次再多些。