sql >> Database >  >> RDS >> Mysql

UTF-8:Algemeen? bak? Unicode?

In het algemeen, utf8_general_ci is sneller dan utf8_unicode_ci , maar minder correct.

Hier is het verschil:

Voor elke Unicode-tekenset zijn bewerkingen die worden uitgevoerd met de _general_ci-sortering sneller dan die voor de _unicode_ci-sortering . Vergelijkingen voor de utf8_general_ci-sortering zijn bijvoorbeeld sneller, maar iets minder correct, dan vergelijkingen voor utf8_unicode_ci. De reden hiervoor is dat utf8_unicode_ci toewijzingen zoals uitbreidingen ondersteunt; dat wil zeggen, wanneer een karakter gelijk is aan combinaties van andere karakters. In het Duits en sommige andere talen is "ß" bijvoorbeeld gelijk aan "ss". utf8_unicode_ci ondersteunt ook samentrekkingen en negeerbare karakters. utf8_general_ci is een legacy-sortering die geen uitbreidingen, samentrekkingen of negeerbare tekens ondersteunt. Het kan alleen één-op-één vergelijkingen maken tussen karakters.

Geciteerd van:http://dev.mysql. com/doc/refman/5.0/en/charset-unicode-sets.html

Lees voor een meer gedetailleerde uitleg het volgende bericht van MySQL-forums:http:/ /forums.mysql.com/read.php?103,187048,188748

Wat betreft utf8_bin:Beide utf8_general_ci en utf8_unicode_ci hoofdletterongevoelige vergelijking uitvoeren. Daarentegen is utf8_bin hoofdlettergevoelig (onder andere verschillen), omdat het de binaire waarden van de karakters vergelijkt.



  1. Hoe de HAVING-clausule in SQL te gebruiken?

  2. Verschil tussen database en schema

  3. Hoe SQL Server Manager Studio (SSMS) te installeren - SQL Server / TSQL-zelfstudie deel 1

  4. Is er een manier om overbelasting van functies in Postgres uit te schakelen?