推荐用 utf8mb4_unicode_ci,但是用 utf8mb4_general_ci 也没啥问题。 MySQL 8.0 默认的是 utf8mb4_0900_ai_ci,属于 utf8mb4_unicode_ci 中的一种,具体含义如下: uft8mb4 表示用 UTF-8 编码方案,每个字符最多占 4 个字节。 0900 指的是 Unicode 校对算法版本。(Unicode 归类算法是用于比较符合 Unic...
MySQL 8.0之后,默认collation不再像之前版本一样是是utf8mb4_general_ci(这个名字也确实取得有问题,话说得太满,有点自负了),而是统一更新成了utf8mb4_0900_ai_ci。 不幸的是,我之前建的各种数据表,它们的collation仍然是utf8mb4_general_ci,而新建的表是utf8mb4_0900_ai_ci。如果恰好遇到包含字符串相等或者...
utf8mb4_unicode_ci 和 utf8mb4_general_ci 1、准确性 utf8mb4_unicode_ci 是基于标准的 Unicode 来排序和比较,能够在各种语言之间精确排序 utf8mb4_general_ci 没有实现 Unicode 排序规则,在遇到某些特殊语言或者字符集,排序结果可能不一致。 但是绝大多数情况下,这些特殊字符的顺序并不需要那么精确。 2、...
首先,我们需要连接到MySQL数据库,并创建一个新的数据库。假设我们将数据库命名为test_db,并且使用utf8mb4_0900_ai_ci字符集。 ```sql CREATE DATABASE test_db CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci; 1. 2. ### 步骤2:创建表 接下来,我们将在`test_db`数据库中创建一张表。我们创建...
utf8mb4_general_ci:由于它没有实现复杂的 Unicode 排序规则,因此在比较和排序时通常更快。 utf8mb4_0900_ai_ci:为了实现更准确的排序,它可能使用了稍微复杂的排序算法。然而,在大多数情况下,这种性能差异可能并不明显。 简单总结 utf8mb4_0900_ai_ci 提供了更准确的排序功能,特别是在处理涉及多种语言和特殊...
utf8mb4_0900_ai_ci是MySQL 8.0的新增排序规则,它在比较字符时不仅忽略大小写和重音符号,还可以识别不同的Unicode字符。这意味着,utf8mb4_0900_ai_ci可以更准确地比较字符,避免了一些排序问题。但是,utf8mb4_0900_ai_ci的缺点是在某些情况下比utf8mb4_general_ci慢。
utf8mb4_general_ci 当设置表的默认字符集为 utf8mb4 字符集但未明确指定排序规则时: 在MySQL 5.7 版本中,默认排序规则为 utf8mb4_general_ci。 在MySQL 8.0 版本中,默认排序规则为 utf8mb4_0900_ai_ci。 由于utf8mb4_0900_ai_ci 排序规则时 MySQL 8.0 引入的排序规则,因此将 MySQL 8.0 版本的表导入...
performance_schema.replication_group_members 这个表不允许更改的,官方这块的开发人员应该扣KPI了,表的collate定义成utf8mb4_0900_ai_ci, 字段的定义成:utf8mb4_bin,这个如果互联网公司,就要用鞭刑处罚了。不过,我看看MySQL其它相关的字段就不想说什么了。
utf8mb4_general_ci:由于它没有实现复杂的 Unicode 排序规则,因此在比较和排序时通常更快。 utf8mb4_0900_ai_ci:为了实现更准确的排序,它可能使用了稍微复杂的排序算法。然而,在大多数情况下,这种性能差异可能并不明显。 简单总结 utf8mb4_0900_ai_ci 提供了更准确的排序功能,特别是在处理涉及多种语言和特殊...