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

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

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

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


暂无图片 评论
暂无图片 有用 2
打赏 0
张sir

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

暂无图片 评论
暂无图片 有用 0
打赏 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
打赏 0
大大刺猬

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

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
mysql如何获取真实的执行计划,而不是explain那种假的?
回答 1
在MySQL8.0中,您可以使用SHOWPLANFOR<SQLstatement>语句来获取真实的执行计划早期的版本的话SETPROFILING1;启用性能分析,使用SHOWPROFILE
mysql数据库如何转为sqlite数据库?
回答 1
mysql导出。sqlite导入?
MySQL统计信息包括以下哪几类?
回答 7
已采纳
直方图统计信息索引统计信息表统计信息
寻寻觅觅,冷冷清清,凄凄惨惨戚戚
回答 5
已采纳
声声慢
每半年定时执行 每年1月1日和7月1日的凌晨1点执行 add_months(trunc(sysdate,'yyyy'),6)+1/24 这个是不是有问题啊?
回答 1
我觉得这个应该是指从7月1日开始,每天的1点执行任务。
mysql 是全球最热门的数据库,这是什么意思?使用的最多么?
回答 2
已采纳
对,是这意思。MySQL是最流行的数据库之一,是一个免费开源的关系型数据库管理系统,但也不意味着该数据库是完全免费的。MySQL由瑞典MySQLAB公司开发,目前属于Oracle公司。MySQL适合中
mysql查询百万条数据耗时太高,有什么优化的方法吗?
回答 3
已采纳
1、建索引2、优化sql,用上索引3、机械盘换ssd,加快io4、加大内存参数,缓存更多的表
MySQL的5.7和5.5的主从复制,读写分离 、分库分表配置一样吗?
回答 1
这个问题太模糊。1.主从复制传统的position方式一样,但记录的binlog肯定有差异。2.读写分析,分库分表:比如前段使用mycat之类的都一样。
MySQL的索引统计信息,主要包括以下哪些内容?
回答 1
已采纳
MySQL的索引统计信息,主要包括ABCDE
MySQL:导入sql,对比了表数据量一致,processlist也没有看到有锁等待事件。但是就一直卡着,这是什么问题?
回答 4
1.首先,确保已经连接到了mysql。比如使用一个新账号进行这个操作2.“卡”着说明可能有阻塞,一般会查是行级别锁(innodbtrx),还是表级别锁(metalock或showengineinnod