Obecně utf8_general_ci je rychlejší než utf8_unicode_ci , ale méně správné.
Zde je rozdíl:
U jakékoli znakové sady Unicode jsou operace prováděné pomocí řazení _general_ci rychlejší než operace s řazením _unicode_ci . Například srovnání pro utf8_general_ci řazení jsou rychlejší, ale o něco méně správné, než srovnání pro utf8_unicode_ci. Důvodem je to, že utf8_unicode_ci podporuje mapování, jako jsou expanze; to znamená, když se jeden znak srovnává s kombinacemi jiných znaků. Například v němčině a některých dalších jazycích se „ß“ rovná „ss“. utf8_unicode_ci také podporuje kontrakce a ignorovatelné znaky. utf8_general_ci je starší řazení, které nepodporuje expanze, kontrakce nebo ignorovatelné znaky. Mezi postavami může provádět pouze srovnání jedna ku jedné.
Citováno z:http://dev.mysql. com/doc/refman/5.0/en/charset-unicode-sets.html
Pro podrobnější vysvětlení si prosím přečtěte následující příspěvek z fóra MySQL:http:/ /forums.mysql.com/read.php?103,187048,188748
Pokud jde o utf8_bin:Oba utf8_general_ci a utf8_unicode_ci provádět srovnání bez ohledu na velikost písmen. Naproti tomu utf8_bin rozlišuje malá a velká písmena (mimo jiné rozdíly), protože porovnává binární hodnoty znaků.