MYSQL:二进制和Blob之间的区别

MYSQL:二进制和Blob之间的区别,mysql,Mysql,我试图理解mysql数据类型,但我不了解(Var-)二进制数据字段和BLOB字段之间的区别。这些类型之间的区别是什么?水滴可以是您想要的大小 另外,在线阅读MySQL手册: BLOB和TEXT与VARBINARY和VARCHAR的区别如下: 在以下情况下,BLOB和TEXT列不会删除尾随空格: 存储或检索值。在MySQL 5.0.3之前,这与 VARBINARY和VARCHAR,当 值被存储 在比较时,文本会扩展到适合比较对象的空间, 就像CHAR和VARCHAR一样 对于BLOB和TEXT列

我试图理解mysql数据类型,但我不了解(Var-)二进制数据字段和BLOB字段之间的区别。这些类型之间的区别是什么?

水滴可以是您想要的大小

另外,在线阅读MySQL手册:

BLOB和TEXT与VARBINARY和VARCHAR的区别如下:

  • 在以下情况下,BLOB和TEXT列不会删除尾随空格: 存储或检索值。在MySQL 5.0.3之前,这与 VARBINARY和VARCHAR,当 值被存储

  • 在比较时,文本会扩展到适合比较对象的空间, 就像CHAR和VARCHAR一样

  • 对于BLOB和TEXT列上的索引,必须指定索引前缀 长度。对于CHAR和VARCHAR,前缀长度是可选的。见第节 7.5.1,“列索引”

  • BLOB和TEXT列不能具有默认值


binary和varbinary类型是二进制字符串,其实际值存储在表中。blob(和text)类型的实际值存储在数据库的其他位置,表中该插槽的别名为256字节;因此,blob可以是“任意”大小(最大值)。

只要小于2^32B(对于LONGBLOB),就可以“任意大”。另外:*TEXT和*BLOB列不会与所有其他列一起存储,因此访问它们可能会稍微慢一点,但从好的方面看,它们不会计入64kB的最大行大小。