MySQL字符集 utf8 和 utf8mb4 区别及排序规则 general_ci 和 unicode_ci 和 bin 的区别
先说字符集
utf8mb4说明:MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。
utf8: 1.最大字符长度为 3 字节,如果遇到 4 字节的字符就会出现错误了。 2.无法存贮表情和不常用汉字 3。消耗空间比utf8mb4少 utf8mb4: 1.最大字符长度为4字节 2.对于 CHAR 类型数据,存储会多消耗一些空间。 3.多了表情的支持
排序规则
后缀 ci :不区分大小写
bin :区分大小写
general_ci:不支持扩展,准确性相对于Unicode_ci来说要低一点,速度快于Unicode_ci
unicode_ci:支持扩展,准确性高于general_ci,速度慢于general_ci