सामान्य तौर पर, utf8_general_ci utf8_unicode_ci की तुलना में तेज़ है , लेकिन कम सही है।
यहाँ अंतर है:
किसी भी यूनिकोड वर्ण सेट के लिए, _general_ci collation का उपयोग करके किए गए ऑपरेशन _unicode_ci टकराव की तुलना में तेज़ होते हैं । उदाहरण के लिए, utf8_general_ci collation के लिए तुलनाएं तेज़ हैं, लेकिन utf8_unicode_ci की तुलना में थोड़ी कम सही हैं। इसका कारण यह है कि utf8_unicode_ci विस्तार जैसे मैपिंग का समर्थन करता है; वह है, जब एक वर्ण अन्य वर्णों के संयोजन के बराबर होता है। उदाहरण के लिए, जर्मन और कुछ अन्य भाषाओं में "," "ss" के बराबर है। utf8_unicode_ci भी संकुचन और आग्नेय वर्णों का समर्थन करता है। utf8_general_ci एक विरासत टकराव है जो विस्तार, संकुचन या अज्ञानतापूर्ण पात्रों का समर्थन नहीं करता है। यह पात्रों के बीच केवल एक-से-एक तुलना कर सकता है।
से उद्धृत:
http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html
अधिक विस्तृत विवरण के लिए, कृपया MySQL फ़ोरम की निम्नलिखित पोस्ट पढ़ें:
http://forums.mysql.com/read.php?103,187048,188748
Utf8_bin के लिए: दोनों utf8_general_ci और utf8_unicode_ci केस-असंवेदनशील तुलना करते हैं। इसके विपरीत , utf8_bin केस-संवेदी है (अन्य अंतरों के बीच), क्योंकि यह वर्णों के द्विआधारी मूल्यों की तुलना करता है।
utf8
उपयोग करेंutf8mb4
। यहाँ टिप्पणी करना क्योंकि इस लोकप्रिय प्रश्न के उत्तर इसे संबोधित नहीं करते हैं। mathiasbynens.be/notes/mysql-utf8mb4