UTF8 लाभ:
-
आरटीएल भाषाओं जैसे हिब्रू सहित अधिकांश भाषाओं का समर्थन करता है।
-
UTF8 जागरूक घटकों (JavaScript, Java, आदि) में डेटा आयात/निर्यात करते समय किसी अनुवाद की आवश्यकता नहीं है।
UTF8 के नुकसान:
-
गैर-ASCII वर्णों को उनकी अधिक जटिल एन्कोडिंग योजना के कारण एन्कोड और डिकोड करने में अधिक समय लगेगा।
-
गैर-ASCII वर्ण अधिक स्थान लेंगे क्योंकि उन्हें 1 बाइट से अधिक का उपयोग करके संग्रहीत किया जा सकता है (वर्ण ASCII वर्णों के पहले 127 वर्णों में नहीं हैं)। एक
CHAR(10)
याVARCHAR(10)
कुछ UTF8 वर्णों को संग्रहीत करने के लिए फ़ील्ड को 30 बाइट्स तक की आवश्यकता हो सकती है। -
utf8_bin
. के अलावा अन्य कोलाजंस धीमा हो जाएगा क्योंकि सॉर्ट ऑर्डर सीधे वर्ण एन्कोडिंग ऑर्डर पर मैप नहीं करेगा), और कुछ संग्रहीत प्रक्रियाओं में अनुवाद की आवश्यकता होगी (जैसा कि वैरिएबल डिफ़ॉल्ट रूप सेutf8_general_ci
है। संयोजन)। -
अगर आपको
JOIN
. की जरूरत है UTF8 और गैर-UTF8 फ़ील्ड, MySQL एक SEVERE . लगाएगा प्रदर्शन हिट। उप-सेकंड क्वेरी क्या होंगी, इसमें संभावित रूप से मिनट लग सकते हैं यदि जुड़े हुए फ़ील्ड अलग-अलग वर्ण सेट/संयोजन हैं।
निचला रेखा:
यदि आपको गैर-लैटिन1 भाषाओं का समर्थन करने की आवश्यकता नहीं है, अधिकतम प्रदर्शन प्राप्त करना चाहते हैं, या पहले से ही latin1
का उपयोग करने वाली तालिकाएं हैं , चुनें latin1
।
अन्यथा, UTF8
choose चुनें ।