UTF8-voordelen:
-
Ondersteunt de meeste talen, inclusief RTL-talen zoals Hebreeuws.
-
Geen vertaling nodig bij het importeren/exporteren van gegevens naar UTF8-bewuste componenten (JavaScript, Java, enz.).
Nadelen van UTF8:
-
Niet-ASCII-tekens hebben meer tijd nodig om te coderen en te decoderen, vanwege hun complexere coderingsschema.
-
Niet-ASCII-tekens nemen meer ruimte in beslag omdat ze kunnen worden opgeslagen met meer dan 1 byte (tekens die niet in de eerste 127 tekens van de ASCII-tekenset voorkomen). Een
CHAR(10)ofVARCHAR(10)veld kan tot 30 bytes nodig hebben om enkele UTF8-tekens op te slaan. -
Andere sorteringen dan
utf8_binzal langzamer zijn omdat de sorteervolgorde niet direct overeenkomt met de tekencoderingsvolgorde), en in sommige opgeslagen procedures moet worden vertaald (als variabelen standaardutf8_general_cisortering). -
Als je moet
JOINUTF8- en niet-UTF8-velden, MySQL zal een ERIN opleggen prestatie hit. Wat een zoekopdracht van minder dan een seconde zou zijn, kan mogelijk minuten duren als de samengevoegde velden verschillende tekensets/sorteringen zijn.
Kort gezegd:
Als u geen niet-Latin1-talen hoeft te ondersteunen, maximale prestaties wilt bereiken of al tabellen hebt die latin1 gebruiken , kies latin1 .
Kies anders UTF8 .