mysql tinytext 最大长度_TINYTEXT,TEXT,MEDIUMTEXT 和 LONGTEXT 的最大存储大小

受到 @ Ankan-Zerob 的挑战,这是我对可以存储在以字为单位的每种文本类型中的最大长度的估计:Type | Bytes | English words | Multi-byte words

-----------+---------------+---------------+-----------------

TINYTEXT | 255 | ±44 | ±23

TEXT | 65,535 | ±11,000 | ±5,900

MEDIUMTEXT | 16,777,215 | ±2,800,000 | ±1,500,000

LONGTEXT | 4,294,967,295 | ±740,000,000 | ±380,000,000

在英语中 ,每个单词 4.8 个字母可能是一个不错的平均水平(例如norvig.com/mayzner.html ),尽管单词长度会根据领域(例如口语与学术论文)而有所不同,所以没有一点太精确了。英文主要是单字节 ASCII 字符,偶尔还有多字节字符,因此每个字母接近一个字节。单词间的空格必须允许有一个额外的字符,因此我将每个单词的 5.8 个字节舍入为小数。带有重音符号的语言(如波兰语)将存储较少的单词,例如德语的单词会较长。

需要多字节字符的语言(例如希腊语,阿拉伯语,希伯来语,印地语,泰语等)在 UTF-8 中通常每个字符需要两个字节。疯狂地猜测每个单词 5 个字母,我舍弃了每个单词 11 个字节。

CJK 脚本(汉字,汉字,平假名,片假名等)我一无所知;我相信字符在 UTF-8 中通常需要 3 个字节,并且(经过大量简化)每个字符可能被认为使用大约 2 个字符,因此它们将位于其他两个字符之间。 (根据情况,使用 UTF-16,CJK 脚本可能需要较少的存储空间)。

当然,这忽略了存储开销等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值