UTF8 Fordele:
-
Understøtter de fleste sprog, inklusive RTL-sprog såsom hebraisk.
-
Ingen oversættelse nødvendig ved import/eksport af data til UTF8-bevidste komponenter (JavaScript, Java osv.).
UTF8 Ulemper:
-
Ikke-ASCII-tegn vil tage længere tid at kode og afkode på grund af deres mere komplekse indkodningsskema.
-
Ikke-ASCII-tegn vil tage mere plads, da de kan lagres med mere end 1 byte (tegn ikke i de første 127 tegn i ASCII-tegnsættet). En
CHAR(10)ellerVARCHAR(10)felt kan have brug for op til 30 bytes for at gemme nogle UTF8-tegn. -
Andre sorter end
utf8_binvil være langsommere, da sorteringsrækkefølgen ikke direkte vil blive knyttet til tegnkodningsrækkefølgen), og vil kræve oversættelse i nogle lagrede procedurer (da variabler som standard erutf8_general_cisortering). -
Hvis du har brug for at
JOINUTF8 og ikke-UTF8 felter, vil MySQL pålægge en SVERE præstationshit. Hvad der ville være sub-sekund-forespørgsler, kan potentielt tage minutter hvis de sammenføjede felter er forskellige tegnsæt/sammenstillinger.
Nederste linje:
Hvis du ikke har brug for at understøtte ikke-Latin1-sprog, ønsker at opnå maksimal ydeevne eller allerede har tabeller med latin1 , vælg latin1 .
Ellers skal du vælge UTF8 .