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_bin
zal langzamer zijn omdat de sorteervolgorde niet direct overeenkomt met de tekencoderingsvolgorde), en in sommige opgeslagen procedures moet worden vertaald (als variabelen standaardutf8_general_ci
sortering). -
Als je moet
JOIN
UTF8- 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
.