utf8_general_ci和utf8_unicode_ci的比较

看到很多数据库的设计对于中文字符都是选择选用utf8_general_ci而非utf8_unicode_ci

utf8_general_ci和utf8_unicode_ci的区别并不大:utf8_unicode_ci校对更准确,utf8_general_ci速度比较快。它们的差别主要在德语和法语上,对于准确性utf8_general_ci足够了,所以一般选用utf8_general_ci。
详细说明如下:
     utf8_unicode_ci的最主要的特色是支持扩展,即当把一个字母看作与其它字母组合相等时。例如,在德语和一些其它语言中‘ß’等于‘ss’。

     utf8_general_ci是一个遗留的 校对规则,不支持扩展。它仅能够在字符之间进行逐个比较。这意味着utf8_general_ci校对规则进行的比较速度很快,但是与使用utf8_unicode_ci的 校对规则相比,比较正确性较差)。

     两种校对规则之间的区别是,对于utf8_general_ci下面的等式成立:
     ß = s

     但是,对于utf8_unicode_ci下面等式成立:
     ß = ss
因此对于德语和法语utf8_unicode_ci更准确,对于中文没有必要。

posted @ 2013-11-15 14:43  WhoAmMe  阅读(301)  评论(0编辑  收藏  举报