utf8 是 Mysql 中的一种字符集,只支持最长三个字节的字符(标点符号,英文,汉字等)。
utf8mb4 完全兼容utf8,最长支持4个字节(四个字节的字符如表情符号:😂)

答案是:不会的。

CREATE TABLE `test`  (
  `t1` varchar(255) CHARACTER SET utf8,
  `t2` varchar(255) CHARACTER SET utf8mb4
) ;
  1. 存储 数字1,字母a,半角符号;,查看两个字段的占用字节(结果:占用内存相同,每个字符占用1个字节)

mysql 使用 utb8mb4 编码会不会占用更多内存,会不会浪费内存, utf8 与 utf8mb4 区别-LMLPHP

  1. 存储 汉字和全角符号,查看两个字段的占用字节(结果:占用内存相同,每个字符占用3个字节)

mysql 使用 utb8mb4 编码会不会占用更多内存,会不会浪费内存, utf8 与 utf8mb4 区别-LMLPHP

  1. 存储 表情,查看两个字段的占用字节(结果:utf8编码可以存3的特殊符号不能保存4字节的表情,utf8mb4编码可以存4字节的表情。)

mysql 使用 utb8mb4 编码会不会占用更多内存,会不会浪费内存, utf8 与 utf8mb4 区别-LMLPHP

如果存储的内容不涉及表情,使用utf8,utf8mb4都可以,两者占用的内存也完全相同,使用 uft8mb4 编码不会占用更多的内存。如果需要存储表情,必须使用utf8mb4,并且一个表情占用4个字节。

参考:http://www.fengyunxiao.cn

02-01 01:27