utf8mb4_unicode_ci和utf8mb4_general_ci如何选择?
utf8mb4是utf8的超集并完全兼容utf8,能够用4个字节存储更多的字符。
utf8mb4对应的排序字符集常用的有:
- utf8mb4_unicode_ci
- utf8mb4_general_ci
从准确性和性能比较两者
- 准确性:
- utf8mb4_unicode_ci是基于标准的Unicode来排序和比较,能够在各语言间精确排序。
- utf8mb4_general_ci没有实现Unicode排序规则,遇到某些特殊语言或字符时可能排序结果非期望的。
- 性能:
- utf8mb4_general_ci在比较和排序时更快
- utf8mb4_unicode_ci在特殊情况下,Unicode排序规则为了能够处理特殊字符情况,实现了略复杂的排序算法。
总的来说推荐utf8mb4_unicode_ci 排序。
参考:https://mp.weixin.qq.com/s/HjzVoWe1fky0VfzhHi8uCg、https://mp.weixin.qq.com/s/vcUW7RQU8JK5FVknTewQuw