怎么猜测mysql数据库的text类型字段对应的字符串可以有多长?

问题背景:假设某张表有一个text类型的字段,专门用来存放大量的描述信息,但是在插入数据时,出现了数据长度过长,导致数据插入失败的情况,但是此时又不想换更大的字段类型,感觉很浪费空间,在业务允许的情况下,提出了当数据长度超过text字段的长度时,可以不做插入操作。

解决方法:

首先text字段的长度为65535,但是描述信息不能排除有中文的情况,那么utf8mb4一个中文最多占4个字节,我们按最大可能来估计,接着根据业务情况,猜测最多可能有多少中文字,相互做减法,即可得出能插入的字符串数据的上限长度,然后以这个上限长度作为判断条件,决定要不要做新增数据的操作。

你可能感兴趣的:(Java开发)