TEXT类型
下表是所有Text类型,及其最大存储空间
type | 最大存储空间 |
---|---|
TINYBLOB, TINYTEXT | 2^8 -1,255Bytes |
BLOB, TEXT | 2^16 -1 |
MEDIUMBLOB, MEDIUMTEXT | 2^24 -1 |
LONGBLOB, LONGTEXT | 2^32 -1 |
根据charset的不同,所能存储的文字数量也不同
下表是不同charset所消耗的空间
Character Set | Supported Characters | 每个字符所需空间 |
---|---|---|
utf8 | BMP only | 1, 2, or 3 bytes |
ucs2 | BMP only | 2 bytes |
utf8mb4 | BMP and supplementary | 1, 2, 3, or 4 bytes |
utf16 | BMP and supplementary | 2 or 4 bytes |
utf16le | BMP and supplementary | 2 or 4 bytes |
utf32 | BMP and supplementary | 4 bytes |
BMP和supplementary是啥(Unicode字符平面映射)
根据wiki的解释,得出结论,用utf8和ucs2的话,有些文字将无法保存,所以这两个就排除掉了。
剩下的4个里面,用utf8mb4是最划算的,因为占用空间最少,可表示的文字却和下面3个一样多。