修补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个字符的空间,因此过多的字符串长度是不合适的,很显然这个是十分不靠谱的设计。
实际工作中,尽量使用符合实际长度的定义。
012022-11-10
相似问题
流程分发
回答 1