यह इस बात पर निर्भर करता है कि आपको क्या चाहिए।
utf8_bin
Collation पूरी तरह से उनके यूनिकोड कोड बिंदु
पर आधारित स्ट्रिंग्स की तुलना करता है मूल्य। यदि सभी कोड बिंदुओं में समान मान हैं, तो तार समान हैं। हालांकि, यह तब अलग हो जाता है जब आपके पास संयोजन चिह्नों (रचित बनाम विघटित) या वर्णों के संयोजन के लिए अलग-अलग संरचना वाले तार होते हैं जो कैननिक रूप से समकक्ष होते हैं लेकिन समान कोड बिंदु मान नहीं होते हैं। कुछ मामलों में, utf8_bin
. का उपयोग करना जब आप उनसे अपेक्षा करते हैं तो तार मेल नहीं खाएंगे। सैद्धांतिक रूप से, utf8_bin
सबसे तेज़ है क्योंकि स्ट्रिंग पर कोई यूनिकोड सामान्यीकरण लागू नहीं होता है, लेकिन यह वह नहीं हो सकता जो आप चाहते हैं।
utf8_general_ci
भाषा-विशिष्ट नियमों का उपयोग करके यूनिकोड सामान्यीकरण लागू करता है और स्ट्रिंग्स केस-असंवेदनशील रूप से तुलना करता है। utf8_general_cs
वही करता है, लेकिन स्ट्रिंग केस-संवेदी रूप से तुलना करता है।