暂无图片
现在MySQL8建议使用 utf8mb4,有些表只存一些基本数据,不涉及表情,能用utf8mb3吗?
我来答
分享
暂无图片 匿名用户
现在MySQL8建议使用 utf8mb4,有些表只存一些基本数据,不涉及表情,能用utf8mb3吗?

现在MySQL8建议使用 utf8mb4,有些表只存一些基本数据,不涉及表情,能用utf8mb3吗?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
刘贵宾

还是用utf8mb4,MySQL未来版本中有可能会删除掉utf8mb3


暂无图片 评论
暂无图片 有用 2
张sir

utf8mb3其实就是utf8,而utf8mb4是utf8的超集,从utf8转到utf8mb4可以无缝兼容,如果你就是普通表就可以使用utf8,这个表需要支持emoji就使用utf8mb4。

暂无图片 评论
暂无图片 有用 0
chengang

还是要用 utf8mb4 


假设你有这种场景

select * from a inner join b on a.id = b.id

where a.name like 'aa' and b.name like 'aa'

如果a.name 是utf8mb3 b.name是utf8mb4的话。  优化器就会产生转换,会影响性能。


暂无图片 评论
暂无图片 有用 0
大大刺猬

不涉及到emoj的和特殊字符的就用utf8/utf8mb3,  能节省很多空间的(每行能存储更多的字符),  utf8mb4占用的空间会更多.  
选择字符集可以根据你的业务来,  甚至可以选择latin的, 不同的字符集占用的空间不同.
总结就是:  不需要考虑磁盘空间的话, 就无脑选utf8mb4.   对磁盘空间敏感的话就选适合的(目标字符集支持业务的所有字符即可)

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏