📌  相关文章
📜  #1273 - 未知排序规则:'utf8mb4_0900_ai_ci' - SQL (1)

📅  最后修改于: 2023-12-03 14:38:43.565000             🧑  作者: Mango

未知排序规则:utf8mb4_0900_ai_ci

在进行MySQL数据库操作时,我们经常会遇到排序规则的问题,而有时候,我们会发现一些未知的排序规则,就比如utf8mb4_0900_ai_ci。那么这究竟是什么呢?本文将会为大家详细介绍这种排序规则。

什么是utf8mb4_0900_ai_ci

在MySQL 8.0.0版本中,新引入了一种新的排序规则,名为utf8mb4_0900_ai_ci。这个排序规则的性质是针对utf8mb4字符集,使用了一种新的语言处理技术——自然语言处理(Natural Language Processing,NLP)。使用该排序规则进行字符串排序时,会根据单词的语义进行排序,而非完全按照字符串的字节顺序排序。对于一些多语言的应用来说,可以使用该排序规则进行排序,从而提升查询性能。

使用utf8mb4_0900_ai_ci

在进行MySQL数据库操作时,如果需要使用utf8mb4_0900_ai_ci排序规则,只需要在创建表时指定字符集即可。例如:

CREATE TABLE my_table (
  id INT PRIMARY KEY,
  name VARCHAR(50)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_0900_ai_ci;

在指定字符集时,通过COLLATE来指定排序规则为utf8mb4_0900_ai_ci。

总结

utf8mb4_0900_ai_ci是一个新的排序规则,使用自然语言处理来进行排序,可以提升查询性能。如果需要使用该规则,只需要在创建表时指定字符集即可。