Genel olarak, utf8_general_ci utf8_unicode_ci'den daha hızlıdır , ancak daha az doğrudur.
Fark şu:
Herhangi bir Unicode karakter kümesi için, _general_ci harmanlama kullanılarak gerçekleştirilen işlemler _unicode_ci harmanlama işleminden daha hızlıdır . Örneğin, utf8_general_ci harmanlama karşılaştırmaları utf8_unicode_ci karşılaştırmasından daha hızlıdır, ancak biraz daha az doğrudur. Bunun nedeni utf8_unicode_ci'nin genişletme gibi eşlemeleri desteklemesi; diğer bir deyişle, bir karakter diğer karakterlerin kombinasyonlarıyla eşit olarak karşılaştırıldığında. Örneğin, Almanca ve diğer bazı dillerde “ß” “ss” e eşittir. utf8_unicode_ci kasılmaları ve cahil karakterleri de destekler. utf8_general_ci, genişletmeleri, kasılmaları veya cahil karakterleri desteklemeyen eski bir harmanlamadır. Karakterler arasında sadece bire bir karşılaştırma yapabilir.
Alıntı sahibi:
http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html
Daha ayrıntılı açıklama için lütfen MySQL forumlarından şu yayını okuyun:
http://forums.mysql.com/read.php?103,187048,188748
Utf8_bin için: Hem utf8_general_ci hem de utf8_unicode_ci büyük / küçük harfe duyarlı olmayan karşılaştırma yapar. Buna karşılık, utf8_bin, karakterlerin ikili değerlerini karşılaştırdığından büyük / küçük harfe duyarlıdır (diğer farklılıklar arasında).
utf8
kullanınutf8mb4
. Burada yorum yapmak, çünkü bu popüler sorunun cevapları buna değinmiyor. mathiasbynens.be/notes/mysql-utf8mb4