2022年11月28日08:50:31
官方mysql8.0文档地址: https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html
_general_ci VS _unicode_ci 排序规则
对于任何Unicode字符集,执行的操作使用xxx_general_ci都比xxx_unicode_ci的排序规则快,例如:utf8mb4_general_ci 归类的比较更快,但正确性稍差。原因是支持扩展等映射;也就是说,当一个字符与其他字符的组合相等时。例如,等于德语和其他一些语言中的 。 还支持收缩和可忽略字符。 是不支持扩展、收缩或可忽略字符的旧版排序规则。它只能在字符之间进行一对一的比较。xxx_general_cixxx_unicode_ciutf8mb4_general_ciutf8mb4_unicode_ciutf8mb4_unicode_cißssutf8mb4_unicode_ciutf8mb4_general_ci
解释一下就是:
1,xxx_unicode_ci需要 一个unicode字符集合集去映射不同语言的字符,多了一道去取值映射字符集,再进行排序
2,utf8mb4_general_ci比如utf8mb4_unicode_ci排序速度快,但是准确性差一点
3,一般情况下建议使用utf8mb4_general_ci,需要一些中文,英文的字符集排序就使用 utf8mb4_unicode_ci