麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
1649
2023-07-03
MySql中的longtext字段的返回问题如何解决
MySql中longtext字段的返回
最近开发中用到了longtext这种字段。在mysql中该字段的最大长度为4G
如下图所示
这样当数据量比较多的时候,或者文本的内容比较大的时候,就出现问题了。
随着页面中的数据量增加,页面加载时间就会变长,直到最终显示数据列表。这会严重影响使用效果。
解决方法
说到这里,还要说一种情况,就是有时候从数据库中查到的数据封装到实体类中,怎么也取不到某个字段的值,就是null。必须检查SQL查询语句,确保返回结果中该字段已经被映射封装到对应的类字段上。
一般情况下都是结果集中没有封装该字段的原因。
Mysql中Text字段的范围
text:存储可变长度的非Unicode数据,最大长度为2^31-1个字符。
text列不能有默认值,存储或检索过程中,不存在大小写转换,后面如果指定长度,不会报错误,但是这个长度是不起作用的,意思就是你插入数据的时候,超过你指定的长度还是可以正常插入。
在 MySQL 中,列类型为 TEXT 的最大长度为 65,535 个字符(即 2 的 16 次方减 1)。
如果你觉得text长度不够,可以选择
MEDIUMTEXT最大长度为16,777,215。LONGTEXT最大长度为4,294,967,295Text主要是用来存放非二进制的文本,如论坛帖子,题目,或者百度知道的问题和回答之类。
需要弄清楚的是text 和 char varchar blob这几种类型的区别。
mysql 修改 text字段长度_mysql的text字段长度?mysql数据库中text字段长度不够的问题…
类型是可变长度的字符串,最多65535个字符;
可以把字段类型改成MEDIUMTEXT(最多存放16777215个字符)或者LONGTEXT(最多存放4294967295个字符).
MySQL supports 4 TEXT field types (TINYTEXT, TEXT, MEDIUMTEXT and LONGTEXT) and this post looks at the maximum length of each of these field types.MyISAM tables in MySQL have a maximum size of a row of 65,535 bytes, so all the data in a row must fit within that limit. However, the TEXT types are stored outside the table itself and only contribute 9 to 12 bytes towards that limit. (For more information about this refer to the MySQL Manual - Data Storage Requirements chapter). TEXT data types are also able to store much more data than VARCHAR and CHAR text types so TEXT types are what you need to use when storing web page or similar content in a database. The maximum amount of data that can be stored in each data type is as follows: TINYTEXT256 bytesTEXT65,535 bytes~64kbMEDIUMTEXT 16,777,215 bytes~16MBLONGTEXT4,294,967,295 bytes~4GBIn most circumstances the TEXT type is probably sufficient, but if you are coding a content management system it’s probably best to use the MEDIUMTEXT type for longer pages to ensure there are no issues with data size limits.
汉字在utf8mb4中占用几个字符
答:3个
MySQL官方手册中对于utf8mb4的解释是
现有数据库版本默认的utf8都为utf8mb3,注意其中所说的"相同的长度"。
所以在utf8mb4下,英文占用1个字节,一般汉字占3个字节,emoji表情占4个字节。
关于代码插入emoji表情报错,请检查 表编码 和 数据库连接 编码是否同时为utf8mb4。
结论:数据库和表都设置为utf8mb4。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。