MySQL字符集charset和collation的区别和作用

在MySQL创建数据库时,我们需要指定字符集charset和collation(排序规则),如果不指定,MySQL会自动指定为默认字符集charset和collation(排序规则)。

字符集charset是一套:符号和编码的映射集合。

collation(排序规则)则是关于查询和比较数据时所遵循的一套规格。

collation(排序规则)后缀的含义(查看MySQL官方文档):

_bin      -- 只比较位;不考虑大小写折叠、重音等
_ci       -- 显式不区分大小写 (A=a) 和隐式不区分重音 (a=á)
_ai_ci    -- 明确不区分大小写和不区分重音
_as    -- 重音敏感

性能:
_bin         -- 简单、快速
_general_ci  -- 无法比较多个字母;例如 ss=ß,所以有点快
...          -- slower
_0900_        -- (MySQL8.0) 由于重写而快得多
posted @ 2022-01-24 17:39  芬尼克斯  阅读(719)  评论(0编辑  收藏  举报