在开发的时候,设计数据库有一个字段用于存储json数据,然而我们的json数据很大,由于公司对数据库设计有严格限制,因此对于json数据的存储,我们使用varchar(65535)还是text字段(65535),哪个性能更好一些,公司的数据库支持哪个?
varchar
MySQL4.1以前,VARCHAR数据类型所支持的最大长度255,5.0以上版本支持65535字节长度,utf8编码下最多支持21843个字符(不为空)
text
text影响数据库性能,因此如果说mysql要使用这个字段的话,公司就需要走一个工单,表示无需考虑数据库性能,varchar比text性能更好
============================================================================
按照查询速度: char最快, varchar次之,text最慢
根据存储的实现: 可以考虑用varchar替代tinytext
如果需要非空的默认值,就必须使用varchar
如果存储的数据大于64K,就必须使用到mediumtext , longtext
varchar(255+)和text在存储机制是一样的
需要特别注意varchar(255)不只是255byte ,实质上有可能占用的更多。
特别注意,varchar大字段一样的会降低性能,所以在设计中还是一个原则大字段要拆出去,主表还是要尽量的瘦小