ai 指的是口音不敏感。也就是说,排序时 e,è,é,ê和 ë 之间没有区别。 ci 表示不区分大小写。也就是说,排序时 p 和 P 之间没有区别。 utf8mb4 已成为默认字符集,在 MySQL 8.0.1 及更高版本中将 utf8mb4_0900_ai_ci 作为默认排序规则。以前,utf8mb4_general_ci 是默认排序规则。由于 utf8mb...
对于utf8mb4_0900_ai_ci来说,0900代表Unicode 9.0的规范,ai表示accent insensitivity,也就是“不区分音调”,而ci表示case insensitivity,也就是“不区分大小写”。 MySQL 8.0之后,默认collation不再像之前版本一样是是utf8mb4_general_ci,而是统一更新成了utf8mb4_0900_ai_ci。 具体可参考这篇博客,讲的非常详...
在utf8mb4_0900_ai_ci规则下,数字0900代表了Unicode 9.0标准,而ai标识“无重音敏感性”,意味着不区分音调。ci标识“无大小写敏感性”,意味着不区分大小写。在MySQL 8.0版本中,其默认的collation规则已从过去的utf8mb4_general_ci统一更新为utf8mb4_0900_ai_ci。欲了解更多信息与深入探讨,...
MySQL 8.0之后,默认collation不再像之前版本一样是是utf8mb4_general_ci(这个名字也确实取得有问题,话说得太满,有点自负了),而是统一更新成了utf8mb4_0900_ai_ci。 不幸的是,我之前建的各种数据表,它们的collation仍然是utf8mb4_general_ci,而新建的表是utf8mb4_0900_ai_ci。如果恰好遇到包含字符串相等或者...
在性能方面,utf8mb4_general_ci通常比utf8mb4_0900_ai_ci更快,因为它没有实现复杂的Unicode排序规则。然而,在大多数情况下,这种性能差异并不明显。综上所述,utf8mb4_0900_ai_ci提供了更准确的排序功能,尤其是在处理涉及多种语言和特殊字符集的情况时。如果性能是一个关键因素,且不需要非常...
utf8mb4_0900_ai_ci:这个排序规则是基于 Unicode 9.0 的规范,并且具有“不区分音调”(accent insensitivity)和“不区分大小写”(case insensitivity)的特性。这意味着它能够更准确地处理各种语言之间的排序问题,包括那些涉及特殊字符和音调的语言。 性能 utf8mb4_general_ci:由于它没有实现复杂的 Unicode 排序规则,...
在你提供的错误信息中,涉及到了utf8mb4_0900_ai_ci和utf8_general_ci两种字符集。下面是对这个问题的详细解答: 1. 理解“illegal mix of collations”错误 这个错误通常出现在数据库查询中,当查询涉及多个表或字段,并且这些表或字段使用了不同的字符集时。字符集定义了如何存储和比较文本数据,而不同的字符集...
utf8mb4_0900_ai_ci排序规则 utf8mb4_0900_ai_ci是MySQL 8.0的新增排序规则,它在比较字符时不仅忽略大小写和重音符号,还可以识别不同的Unicode字符。这意味着,utf8mb4_0900_ai_ci可以更准确地比较字符,避免了一些排序问题。但是,utf8mb4_0900_ai_ci的缺点是在某些情况下比utf8mb4_general_ci慢。
通过上述步骤,开发者可以顺利地将MySQL数据库的字符集从utf8mb4_0900_ai_ci更改为utf8_general_ci。字符集的更改不仅可能会影响到数据的兼容性,也可能对应用程序的性能和存储需求产生影响。因此,在执行此类操作时,务必谨慎进行并做好充分的备份和测试。希望这篇文章能帮助你高效地管理数据库字符集,提升数据处理的便...
ci表示不区分大小写。也就是说,排序时p和P之间没有区别。 如果需要口音敏感和区分大小写,则可以使用 utf8mb4_0900_as_cs 代替。 utf8mb4 已成为默认字符集,在MySQL 8.0.1及更高版本中将 utf8mb4_0900_ai_ci 作为默认排序规则。以前,utf8mb4_general_ci 是默认排序规则。由于 utf8mb4_0900_ai_ci 排...