Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

utf-8 vs latino1


Vantagens do UTF8:

  1. Suporta a maioria dos idiomas, incluindo idiomas RTL, como hebraico.

  2. Nenhuma tradução necessária ao importar/exportar dados para componentes com reconhecimento de UTF8 (JavaScript, Java, etc).

Desvantagens do UTF8:

  1. Caracteres não ASCII levarão mais tempo para codificar e decodificar, devido ao seu esquema de codificação mais complexo.

  2. 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). Um CHAR(10) ou VARCHAR(10) pode precisar de até 30 bytes para armazenar alguns caracteres UTF8.

  3. Agrupamentos diferentes de utf8_bin será 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 para utf8_general_ci agrupamento).

  4. Se você precisa JOIN Campos 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 .