sql >> Databasteknik >  >> RDS >> Mysql

UTF-8:Allmänt? Bin? Unicode?

I allmänhet utf8_general_ci är snabbare än utf8_unicode_ci , men mindre korrekt.

Här är skillnaden:

För alla Unicode-teckenuppsättningar är operationer som utförs med _general_ci-sorteringen snabbare än de för _unicode_ci-sorteringen . Till exempel är jämförelser för utf8_general_ci-kollationen snabbare, men något mindre korrekta, än jämförelser för utf8_unicode_ci. Anledningen till detta är att utf8_unicode_ci stöder mappningar såsom expansioner; det vill säga när ett tecken jämförs med kombinationer av andra tecken. Till exempel på tyska och vissa andra språk är "ß" lika med "ss". utf8_unicode_ci stöder också sammandragningar och ignorerbara tecken. utf8_general_ci är en äldre sortering som inte stöder expansioner, sammandragningar eller ignorerbara tecken. Den kan endast göra en-till-en-jämförelser mellan karaktärer.

Citerat från:http://dev.mysql. com/doc/refman/5.0/en/charset-unicode-sets.html

För mer detaljerad förklaring, läs följande inlägg från MySQL-forum:http:/ /forums.mysql.com/read.php?103,187048,188748

När det gäller utf8_bin:Båda utf8_general_ci och utf8_unicode_ci göra jämförelser som inte är skiftlägeskänsliga. I motsats är utf8_bin skiftlägeskänslig (bland andra skillnader), eftersom den jämför de binära värdena för tecknen.



  1. Använd sammansatt primärnyckel som främmande nyckel

  2. Komma igång Justera prestanda i Azure SQL Database

  3. Hur gör jag för att php ska fungera med postgresql?

  4. HikariCP Postgresql Driver hävdar att de inte accepterar JDBC URL