6.2.3.2 BLOB 和 TEXT 类型
发布日期:2021-11-09 22:50:40
浏览次数:39
分类:技术文章
本文共 1341 字,大约阅读时间需要 4 分钟。
一个 BLOB
是一个可以保存一可变数量的数据的二进制大对象。四个 BLOB
类型(TINYBLOB
、BLOB
、MEDIUMBLOB
和 LONGBLOB
)之间的不同仅仅在于他们能保存值的最大长度不一致。查看章节 。
四个 TEXT
类型(TINYTEXT
、TEXT
、MEDIUMTEXT
和 LONGTEXT
)对应与四个 BLOB
类型,并且有相同的最大长度和存储需求。在 BLOB
和 TEXT
类型之间的唯一差别就是,对 BLOB
值是以字母大小写敏感的方式进行排序和比较的,而对 TEXT
值以忽略字母大小写方式进行排序和比较。换句话说,TEXT
是一个忽略字母大小写的 BLOB
。
如果将一个超过列类型最大长度的值赋给一个 BLOB
或 TEXT
列,该值将被截断以适应它。
在大多数方面,可以将一个 TEXT
列看作是一个你所希望大 VARCHAR
列。同样的,BLOB
列可以看作是一个 VARCHAR BINARY
列。差别就在于:
- 在 MySQL 3.23.2 和更新的版本中,可以在
BLOB
和TEXT
列上建立索引。而较老版本的 MySQL 是不支持的。 - 当
BLOB
andTEXT
列值被存储时,尾部的空格不会被剪切,这与VARCHAR
列是不一样的。 -
BLOB
和TEXT
列不可以有DEFAULT
值。
MyODBC
以 LONGVARBINARY
定义 BLOB
值,以 LONGVARCHAR
定义 TEXT
值。
因为 BLOB
和 TEXT
值可以非常地长,在使用它们时可能会遇到某些限制:
- 如果希望在一个
BLOB
或TEXT
列上使用GROUP BY
和ORDER BY
,必须将该列值转换为一个定长对象。这样做的标准做法是使用SUBSTRING
函数。例如:mysql> SELECT comment FROM tbl_name,SUBSTRING(comment,20) AS substr -> ORDER BY substr;
如果你不这样做,只有列值的前max_sort_length
个字节用于排序。max_sort_length
缺省的值为 1024;在启动mysqld
服务时,可以使用-O
选项对它进行更改。可以在一个包含BLOB
或TEXT
值的表达式上进行分组,通过指定列的位置或使用一个别名:mysql> SELECT id,SUBSTRING(blob_col,1,100) FROM tbl_name GROUP BY 2;mysql> SELECT id,SUBSTRING(blob_col,1,100) AS b FROM tbl_name GROUP BY b;
- 一个
BLOB
或TEXT
对象的最大尺寸由其类型决定,但是在客户端和服务器之间实际所能传送的最大值,是由可用内存总数和通讯缓冲区的大小来决定的。你可以改变报文缓冲区的大小,但必须在服务器端与客户端同时这么做。查看章节 。
注意,每个 BLOB
或 TEXT
值在内部由一个独立分配的对象表示。这与其它所有的列类型不一样,当表被打开时,它们被按每列分配一次存储。
转载地址:https://blog.csdn.net/Danlinan/article/details/46344949 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年03月27日 06时40分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Gradle入门系列(五)——Gradle其它模块与Plugin插件
2019-04-27
DroidPlugin手札——home键强杀处理
2019-04-27
不一样的Gradle多渠道配置总结
2019-04-27
为何要使用docker
2019-04-27
那些年,我们在?的那些日子
2019-04-27
嵌入式入门必读
2019-04-27
致敬云南滑翔机
2019-04-27
震惊,用了这么多年的 CPU 利用率,其实是错的
2019-04-27
Linux 内核宏 time_after解析
2019-04-27
一个看似是系统问题的应用问题的解决过程
2019-04-27
终于赢球了
2019-04-27
如何解决Binder泄漏问题
2019-04-27
C语言大神进来看看这个题目
2019-04-27
老师好
2019-04-27
Linux 下的推迟执行
2019-04-27
中秋节快乐
2019-04-27
300来行代码实现最小Linux文件系统
2019-04-27
爱大姚,恨男篮
2019-04-27
Linux 内核系统架构
2019-04-27
离职了
2019-04-27