我已阅读varchar
的不同解释,到目前为止,我已经得到了这个:
CHAR( ) fixed from 0 to 255 characters long
VARCHAR( ) variable from 0 to 255 characters long
TINYTEXT maximum length of 255 characters
TEXT maximum length of 65535 characters
BLOB maximum length of 65535 characters
MEDIUMTEXT maximum length of 16777215 characters
MEDIUMBLOB maximum length of 16777215 characters
LONGTEXT maximum length of 4294967295 characters
LONGBLOB maximum length of 4294967295 characters
然后这个
char(n)变量存储固定长度的字符串,这些字符串恰好包含n个字符(因此,n个字节)。它们的大小限制为8,000个字符。
nchar(n)变量存储固定长度的Unicode字符串,这些字符串恰好包含n个字符(因此,2 * n个字节)。它们的大小限制为4,000个字符。
varchar(n)变量存储由大约n个字符组成的非固定长度字符串。它们消耗l + 2个字节的空间,其中l是字符串的实际长度。它们的大小限制为8,000个字符。
那么varchar
上的字符最大值是多少?我想知道的原因是我正在开始一个简单的小CMS
并且我不希望我的SQL DB超重而且你可以看到例如
nvarchar(max)[length] * 2 + 2
nvarchar being 100,000 * 2 + 2 = 200,002 bytes (what is + 2 is it literal?)
另外,我已经读过varchar(8,000)
比varchar(max)
更好,所以你会建议我使用哪种类型来改变字符长度,特别是对于内容。
答案 0 :(得分:5)
http://dev.mysql.com/doc/refman/5.0/en/char.html
The length can be specified as a value from 0 to 255 before MySQL 5.0.3,
and 0 to 65,535 in 5.0.3 and later versions.
我不认为你的第二个粘贴是在谈论MySQL。