我已经阅读了不同的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)变量存储由n个字符(因此为2*n个字节)组成的固定长度Unicode字符串。它们的大小限制为4,000个字符。
varchar(n)变量存储非固定长度字符串,大约包含n个字符。它们消耗l+2个字节的空间,其中l是字符串的实际长度。它们的大小限制为8,000个字符。
nvarchar(n)变量存储非固定长度Unicode字符串,大约包含n个字符。它们消耗2*l+2个字节的空间,其中l是字符串的实际长度。它们的大小限制为4,000个字符。
varchar(max)变量存储非固定长度字符串,最多包含1,073,741,824个字符。它们消耗l+2个字节的空间,其中l是字符串的实际长度。
nvarchar(max)变量存储非固定长度Unicode字符串,最多包含536,870,912个字符。它们消耗l*2+2个字节的空间,其中l是字符串的实际长度。
text和ntext变量存储高达2GB的文本数据(分别为ANSI和Unicode),但不能用于许多文本操作。因此,它们通常仅用于支持旧应用程序,并已被varchar(max)和nvarchar(max)数据类型替代。
那么varchar
的字符最大值到底是多少?我之所以问这个问题是因为我正在开始一个简单的CMS
,我不想让我的SQL数据库负载过重,正如你可以看到的那样。
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)
更好,那么对于长度可变的字符,特别是内容,您建议我使用哪种类型?
varchar(8,000)
比varchar(max)
更好? - Dour High Arch