加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql数据库中utf8mb4 unicode ci和utf8 general ci什么区别?

发布时间:2020-12-12 02:15:24 所属栏目:MySql教程 来源:网络整理
导读:utf8mb4是4个字节。utf8是3个字节。utf8mb4兼容性更好,占用空间更大。 主要从排序准确性和性能两方面看: 准确性 utf8mb4_unicode_ci ?是基于标准的Unicode来排序和比较,能够在各种语言之间精确排序 utf8mb4_general_ci ?没有实现Unicode排序规则,在遇到

utf8mb4是4个字节。utf8是3个字节。utf8mb4兼容性更好,占用空间更大。

主要从排序准确性和性能两方面看:

    • 准确性
      utf8mb4_unicode_ci?是基于标准的Unicode来排序和比较,能够在各种语言之间精确排序
      utf8mb4_general_ci?没有实现Unicode排序规则,在遇到某些特殊语言或字符是,排序结果可能不是所期望的。
    • 性能
      utf8mb4_general_ci?在比较和排序的时候更快
      utf8mb4_unicode_ci?在特殊情况下,Unicode排序规则为了能够处理特殊字符的情况,实现了略微复杂的排序算法。
      但是在绝大多数情况下,不会发生此类复杂比较。general理论上比Unicode可能快些,但相比现在的CPU来说,它远远不足以成为考虑性能的因素,索引涉及、SQL设计才是。?我个人推荐是?utf8mb4_unicode_ci,将来 8.0 里也极有可能使用变为默认的规则。相比选择哪一种collation,使用者应该更关心字符集与排序规则在db里要统一就好。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读