参考:http://www.fengyunxiao.cn
参考:https://www.fengyunxiao.cn/blogs
utf8 与 utf8mb4 区别:
utf8 是 Mysql 中的一种字符集,最长只支持三个字节的字符(如常见的标点符号,英文,汉字等)。
utf8mb4 完全兼容utf8,最长支持4个字节(如表情符号:?)
结论:存储相同的内容,utb8mb4 编码不会占用更多内存。
实验:首先创建表,该表有两个字段,一个使用 utf8,一个使用 utf8mb4
CREATE TABLE `test` (
`t1` varchar(255) CHARACTER SET utf8,
`t2` varchar(255) CHARACTER SET utf8mb4
) ;
1. 测试单字节:两个字段存储相同的"数字",“字母"和"半角符号”,查看占用的字节(结果:占用内存相同,每个字符占用1个字节)
select t1, length(t1) as t1占用字节, length(t2) as