关于 TiDB库表设计和使用规范,text 和varchar的选择 这里没有看懂
大字段本身也不推荐存数据库。不过没看懂是哪里不理解?
为什么用 varchar(10000)也不使用 text 类型
之前的版本支持不太好咯…
如果有这块的需求,可以用新版做个poc 测试下
这个也是别人的建议,我觉得也能用现在
如果产品是同时支持MySQL和TiDB数据库的话,建议建表的时候老老实实的用text,因为用varchar(10000),在MySQL里面就报错了……亲身经历……
mysql varchar最长65535 10000应该没问题
在utf8mb4字符集编码下,一个字符占用4个字节. 我理解是 varchar 10000 没有超过 6mb 限制吧。text 本身没有这个限制就很担心咯。
表里不止这一个字段呀~
你看这个表,它又长又宽~
也不是大字段,比如我们业务上这个字段存的是一个多选属性的值,那就不知道能存多少数据,有的开发以前都是直接搞varchar(max),到这边之后没有max了,就搞varchar(10000)什么的,实际可能也就用几十的长度,但理论上是可能有人会多选几个值达到几万的长度。
太大的字段用varchar就不合适,直接插入就报错了
length 算下 max 就知道多大了,整改吧。本身也不推荐大字段存关系型数据库中。
都不用算,我们是做项目的,到项目上执行一下脚本就知道有没有超长,哈哈,超长了就改成text
还是建议按业务需求,用多少设置多少,设置太大了不太好
嗯嗯,是的