下表是全部Text类型,及其最大存储空间code
type | 最大存储空间 |
---|---|
TINYBLOB, TINYTEXT | 2^8 -1,255Bytes |
BLOB, TEXT | 2^16 -1 |
MEDIUMBLOB, MEDIUMTEXT | 2^24 -1 |
LONGBLOB, LONGTEXT | 2^32 -1 |
根据charset的不一样,所能存储的文字数量也不一样
下表是不一样charset所消耗的空间ip
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字符平面映射)get
根据wiki的解释,得出结论,用utf8和ucs2的话,有些文字将没法保存,因此这两个就排除掉了。
剩下的4个里面,用utf8mb4是最划算的,由于占用空间最少,可表示的文字却和下面3个同样多。table