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) 由于重写而快得多
皮皮鲁