【发布时间】:2011-12-07 00:35:16
【问题描述】:
根据定义:
VARCHAR:Length 的范围是 1 到 255 个字符。 VARCHAR 值以不区分大小写的方式进行排序和比较,除非给出了 BINARY 关键字。 x+1 字节
TINYBLOB、TINYTEXT:BLOB 或 TEXT 列,最大长度为 255 (2^8 - 1) 个字符 x+1 个字节
所以基于此,我创建了下表:
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255),
`lastname` tinytext,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
或者创建一个 varchar 或 tinytext 以及为什么更好?
是否也一样:
VARCHAR:长度范围> 255 个字符。 VARCHAR 值以不区分大小写的方式进行排序和比较,除非给出了 BINARY 关键字。 x+2 字节
BLOB, TEXT BLOB 或 TEXT 列,最大长度为 65535 (2^16 - 1) 个字符 x+2 字节
【问题讨论】:
-
VARCHAR 需要较少的内存开销,但它们通常会在内存中完全读取,因此最后 VARCHAR 可能仍会使用更多内存。他们都是不同的。您使用 BLOB 来存储二进制数据,例如图像、音频和其他多媒体数据。和 VARCHAR 存储任何大小的文本,直到限制。
标签: mysql