Vantagens do UTF8:
-
Suporta a maioria dos idiomas, incluindo idiomas RTL, como hebraico.
-
Nenhuma tradução necessária ao importar/exportar dados para componentes com reconhecimento de UTF8 (JavaScript, Java, etc).
Desvantagens do UTF8:
-
Caracteres não ASCII levarão mais tempo para codificar e decodificar, devido ao seu esquema de codificação mais complexo.
-
Caracteres não ASCII ocuparão mais espaço, pois podem ser armazenados usando mais de 1 byte (caracteres que não estão nos primeiros 127 caracteres do conjunto de caracteres ASCII). UmCHAR(10)ouVARCHAR(10)pode precisar de até 30 bytes para armazenar alguns caracteres UTF8.
-
Agrupamentos diferentes deutf8_binserá mais lento, pois a ordem de classificação não será mapeada diretamente para a ordem de codificação de caracteres) e exigirá tradução em alguns procedimentos armazenados (como as variáveis padrão parautf8_general_ciagrupamento).
-
Se você precisaJOINCampos UTF8 e não UTF8, o MySQL imporá um SEVERE golpe de desempenho. O que seriam consultas de menos de um segundo podem levar minutos se os campos unidos forem conjuntos/agrupamentos de caracteres diferentes.
Linha inferior:
Se você não precisa oferecer suporte a idiomas não latino1, deseja obter o máximo desempenho ou já possui tabelas usando
latin1 , escolha latin1 . Caso contrário, escolha
UTF8 .