我试图弄清楚我应该对各种类型的数据使用什么排序规则。我将存储的内容 100% 是用户提交的。
我的理解是我应该使用 UTF-8 General CI (Case-Insensitive) 而不是 UTF-8 Binary。但是,我找不到 UTF-8 General CI 和 UTF-8 Unicode CI 之间的明显区别。
一般来说, utf8_general_ci 比 utf8_unicode_ci 快,但不太正确。
这是区别:
对于任何 Unicode 字符集, 使用 _general_ci 排序规则执行的操作比使用 _unicode_ci 排序规则执行的操作要快 。例如,utf8_general_ci 排序规则的比较比 utf8_unicode_ci 的比较更快,但正确性稍差。原因是 utf8_unicode_ci 支持扩展等映射;也就是说,当一个字符比较等于其他字符的组合时。