MySQL排序规则
前面已经明白了什么是字符集,那么MySQL中的排序规则又是什么呢?
排序规则是指对特定字符集下不同字符的比较规则。确定排序规则后,才可以在一个字符集上比较字符之间的大小关系。
每个排序规则唯一对应一种字符集,但是一个字符集可以对应多种排序规则,其中一个是默认排序规则。
我们可以使用show collation来查看支持的各种排序规则。
我们也可以查看utf8字符集所支持的排序规则。
我们可以看到utf8字符集支持utf8_general_ci和utf8mb4_general_ci这两种排序规则。其中结尾的ci表示的意思是“case insensitive”,也就是大小写不敏感;若是cs结尾,则表示“case sensitive”,则表示大小写敏感。
utf8_general_ci和utf8_unicode_ci的区别?
- utf8_unicode_ci与utf8_general_ci对于中英文来说没有实质性的差别。
- utf8_general_ci校准速度快,但准确性稍差。
- utf8_unicode_ci准确度高,但校准速度稍慢。
- 如果应用有德语、法语或者俄语,请一定使用utf8_unicode_ci;否则 utf8_general_ci 就够了,