修补activiti的bug的sql里,需要给255这么大长度的varchar吗?

来源:3-1 源码下载与运行

洛奇2019

2022-11-06

-- ----------------------------

-- 修复Activiti7的M4版本缺失字段Bug

-- ----------------------------

alter table ACT_RE_DEPLOYMENT add column PROJECT_RELEASE_VERSION_ varchar(255) DEFAULT NULL;

alter table ACT_RE_DEPLOYMENT add column VERSION_ varchar(255) DEFAULT NULL;


这里的字段长度设置是否过大?合适的值应该是多少?

我看了官方的建的表,也都是设置的很长。

写回答

1回答

汪汪对

2022-11-10

在MySql在查询是需要创建临时表的时候(union,order by、group by,子查询),在MySql读取数据之前,是只知道varchar的长度n,不知道实际数据的长度的,但是读取数据之前需要预分配内存空间,MySql是根据varchar(n)中的n来进行分配内存的,这样也是最合理的方式,不可能分配小于n个字符的空间,因此过多的字符串长度是不合适的,很显然这个是十分不靠谱的设计。

实际工作中,尽量使用符合实际长度的定义。

0
1
洛奇2019
老师的意思就是说,不能直接用activiti提供的表定义,是吗?还需要自己改一下字段长度是吗?
2022-11-10
共1条回复

Activiti7工作流开发 打造通用型可视化UML工作流系统

从0打造黑马潜力项目作品,掌握新版Activiti7核心+工程化思维。

956 学习 · 367 问题

查看课程