1118 - Row size too large

【 使用环境 】 测试环境
【 OB 】
【 使用版本 】OceanBase_CE-v4.2.1.8
【问题描述】创建表 报 1118 - Row size too large
【复现路径】
表大概有 490列 ,大多类型是 LONGTEXT NULL。
减少了列个数 可以创建成功。
相同列个数 LONGTEXT 和TEXT 都不行,从类型可存储的最大长度 开始判断TEXT会占用少量字节,但更换不起作用 。
看文档行最大长度1.5M 字节 ,创建表行长度 违反限制 行长度怎么计算的?

【附件及日志】

【备注】

建表错误,错误代码 1118

https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000066?back=kb

发一下对应的表结构信息

如果创建 以下测试表 类型都是LONGTEXT 的情况下,会报1118 - Row size too large 错误,对于LONGTEXT TEXT 类似的数据类型如何计算的长度 违反行长度1.5M字节的约束的?

CREATE TABLE rpa_plan_result12 (
pk_plan_result varchar(32),
c1 LONGTEXT NULL,
c2 LONGTEXT NULL,
c3 LONGTEXT NULL,
… 一共500多列

创建表的时候指定这个值LOB_INROW_THRESHOLD 默认是4096 也就是4k 可以调小一点 这个参数的取值范围[0, 0.75M] 0禁止使用这个参数LOB_INROW_THRESHOLD 合理设置 太小,会导致outrow存储太多,会导致性能降低
create table t(pk int, data text) LOB_INROW_THRESHOLD = 4096;