请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

-- 修复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;


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

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

正在回答 回答被采纳积分+3

1回答

汪汪对 2022-11-10 16:28:34

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

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

0 回复 有任何疑惑可以回复我~
  • 提问者 洛奇2019 #1
    老师的意思就是说,不能直接用activiti提供的表定义,是吗?还需要自己改一下字段长度是吗?
    回复 有任何疑惑可以回复我~ 2022-11-10 17:00:56
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信