仅使用 ASCII 字符时,MySQL 8 ASCII 与 utf8mb4_0900_ai_ci 大小是否不同?

jsH*_*ate 4 mysql collation character-set encoding mysql-8.0

如果我只使用 ASCII 字符,磁盘上的VARCHAR (255)withutf8mb4_0900_ai_ci会比VARCHAR (255)使用 ASCII 大吗?

Sol*_*zky 5

除非 MySQL 做一些奇怪的事情,否则只使用 ASCII 字符(即值 0 - 127)应该是完全相同的编码,因此在 ASCII、UTF-8 和许多其他 8 位代码页之间应该是完全相同的大小。只有当你的代码点超过 127(或0x7F)时,UTF-8 才开始需要额外的空间(虽然从技术上讲,标准 ASCII 只包含 0 - 127 的值,因此没有超过 127 的代码点,因此所有 ASCII 代码点都是UTF-8 编码,毕竟这是 UTF-8 的设计目标:完全兼容 ASCII)。