Mysql BLOB、BLOB与TEXT区别及性能影响、将BLOB类型转换成VARCHAR类型

在排查公司项目业务逻辑的时候,见到了陌生的字眼,如下图

顺着关键字BLOB搜索,原来是Mysql存储的一种类型,从很多文章下了解到如下信息

了解

MySQL中,BLOB字段用于存储二进制数据,是一个可以存储大量数据的容器,它能容纳不同大小的数据。

MySQL的四种BLOB类型

  1. 类型                     大小(单位:字节)
  2. TinyBlob                   最大 255
  3. Blob                         最大 65K
  4. MediumBlob            最大 16M
  5. LongBlob                 最大 4G

BLOB与TEXT的区别

一般在保存少量字符串的时候,我们会选择CHAR或者VARCHAR,而在保存较大文本时,通常会选择使用TEXT或者BLOB。二者之间的主要差别是BLOB能用来保存二进制数据,比如照片;而TEXT只能保存字符数据,比如一遍文章或日记。TEXT和BLOB中又分别包括TEXT,MEDIUMTEXT,LONGTEXT和BLOB,MEDIUMBLOB,LONGBLOB三种不同的类型,他们之间的主要区别是存储文本长度不用和存储字节不用,用户应该根据实际情况选择能够满足需求的最小存储类型。

BLOB和TEXT值会引起一些性能问题,特别是执行了大量的删除操作时。
删除操作会在数据库表中留下很大的“空洞”,以后要填入这些“空洞”的记录在插入的性能上会有影响。为了提高性能,建议定期使用OPTIMEIZE TABLE功能对这类表进行碎片整理,避免因为“空洞”导致性能问题。 

详细说明:https://blog.csdn.net/weixin_36910300/article/details/79104536

性能影响:https://blog.csdn.net/zhao_6666/article/details/79132285

将BLOB转化为VARCHAR

select CAST(content AS CHAR(10000) CHARACTER SET utf8) from t_bonus_code_log

https://blog.csdn.net/qjc_501165091/article/details/51226018   原生的写入与读取

posted @ 2018-12-11 15:31  温柔的风  阅读(23904)  评论(0编辑  收藏  举报