text和blob

简介: text和blob

      上篇提到char和varchar,他们都是用来存储字符串的。而且它们是在保存少量字符串时用,比如用户名,密码。text和blob也是保存字符串的,它们用来保存较大文本时用,比如一篇博客内容,一张照片。

       text和blob的区别:

       1、blob能保存二进制数据,比如照片。text只能保存字符数据,比如一篇文章。

       2、text根据存储文本长度不同分为三种:Text、MediumText、LongText。

       3、blob根据存储字节不同分为三种:Blob、MediumBlob、LongBlob。

       在选用不同的数据类型时,可根据实际情况选择能满足需求的最小存储类型。节省空间。

       Blob和Text会引起一些性能问题(尤其是在执行了大量删除操作时):

       1、使用碎片整理(OPTIMIZE TABLE)可回收执行删除操作后留下的空洞

       text或blob在执行了删除操作后,会留下很大的“空洞”,以后再在“空洞”里进行插入时,性能慢。

       2、使用合成的索引提高查询性能

       合成索引就是根据大文本字段的内容建立一个散列值,并把这个值存储在单独的数据列中,然后就可以通过检索散列值找到数据行了。这种技术适用于精确匹配的查询。

若要进行模糊查询可用前缀索引。散列值的生成:可使用MD5()或者SHA1()、CRC32()生成散列值,也可以使用应用程序逻辑计算散列值。

       3、使用where约束条件避免检索大型的包含blob或text值的数据

       4、把blob或text列分离到单独的表中。

      以上内容出自《深入浅出mysql》

总结:

       阳光正好,适合总结。


相关文章
|
存储 SQL 关系型数据库
【MySQL异常】Row size too large (> 1982). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNA
【MySQL异常】Row size too large (> 1982). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNA
129 0
|
2月前
|
前端开发
前端base64转Blob,Blob转文件下载
前端将base64字符串转换为Blob对象,再将Blob对象转换为文件并实现下载。包括处理数据URL和纯base64字符串的情况,并提供了一个辅助函数用于转换。
56 2
|
3月前
|
存储 XML 关系型数据库
深入理解MySQL中的BLOB和TEXT数据类型
【8月更文挑战第31天】
519 0
|
4月前
|
JSON 数据格式
Content type ‘text/plain;charset=UTF-8‘ not supported,这里要把测试文件转为json格式
Content type ‘text/plain;charset=UTF-8‘ not supported,这里要把测试文件转为json格式
|
6月前
|
网络协议
STX (Start of Text) - ASCII值2 (0x02)
STX (Start of Text) - ASCII值2 (0x02)
552 2
|
11月前
blob和base64互转
blob和base64互转
132 0
|
存储 otter 关系型数据库
BLOB和VARBINARY类型的字段不能设置为NULL
BLOB和VARBINARY类型的字段不能设置为NULL
216 1
|
存储 关系型数据库 MySQL
MySQL 中 blob 和 text 数据类型详解
前面文章我们介绍过一些常用数据类型的用法,比如 int、char、varchar 等。一直没详细介绍过 blob 及 text 类型,虽然这两类数据类型不太常用,但在某些场景下还是会用到的。本篇文章将主要介绍 blob 及 text 数据类型的相关知识。
761 0
|
API
url、base64、blob相互转换方法
url、base64、blob相互转换方法
897 0
|
大数据 数据库 文件存储