GreatSQL社区

搜索

[已解决] 行定义总长度扩容

435 2 2023-12-6 11:02
问题背景
    我们所做产品为低代码开发平台,其他公司或项目组使用我们平台开发自己的应用,所有应用都支持在实际部署时根据客户需求二次开发,且标准应用后续有新版本时需要支持客户二次开发过的应用进行升级。
问题现象
    第一种场景:在客户二次开发时,有些表字段不能满足客户需求,需再次增加表字段,但增加字段时报错“1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs”。
第二种场景:客户二开完成后,A表已经增加了扩展字段,后续标准应用发布了2.0版本,客户需要升级,升级时标准应用的A表也增加了字段,导致行定义总长度再次超长,升级失败。
期望
    希望能增加个参数配置,开启后允许行定义总长度扩容到更大长度




issues:行定义总长度可超出65535 · Issue #I8M4PW · 万里数据库/GreatSQL - Gitee.com

全部回复(2)
KAiTO 2023-12-6 11:21:32
您可能需要将一些列的数据类型更改为TEXT或BLOB。一般来说,当一个字段的长度超过255个字符时,就应该考虑使用TEXT或BLOB类型。

关于您担心的“text类型加多了,会很慢啊”的问题,其实并不会存在。实际上,数据类型的选择并不会对速度产生太大影响,而是与存储数据的大小有直接关系。
zxq 2023-12-13 15:57:00
其实本质问题是字段数据类型选择,与MySQL自身规范的冲突,这种比如使用varchar(1000)的,实际在MySQL中建议不要使用varchar,直接转换为text或者blob。另一种考虑调整字符集类型,同样的数据在使用utf8mb4和latin1的字符集长度容量也是不同的,Latin1相对来说占用空间比mb4更少
林先生

1

主题

0

博客

2

贡献

新手上路

Rank: 1

积分
3

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-5-18 03:31 , Processed in 0.021168 second(s), 13 queries , Redis On.
快速回复 返回顶部 返回列表