Tiago Adami escreveu:
> Desculpem a minha ignorância quanto à esta dúvida, mas gostaria de saber
> o que impacta nos seguintes tópicos quanto ao encoding do banco:
> 
> - Espaço utilizado (real) em disco;
> - Ordenação;
> - Velocidade;
> - Compatibilidade;
> 
O UTF-8 *não* ocupa mais espaço do que o LATIN1 para armazenar o mesmo
caractere. A regra de ordenação é a mesma para UTF-8 e LATIN1. Na minha
opinião, não há diferença de velocidade significativa. Várias aplicações já
"conversam" em UTF-8 nos dias de hoje.

> Pergunto porque durante a minha pós-graduação (em Java), recebi
> informações de um professor que o tipo UTF8 é mais lento e ocupa mais
> espaço, mas depois de ter aqui neste mesmo fórum - postagem do Euler - a
> informação de que se não usar Latin1 perde-se a capacidade de ordenação
> utilizada no Brasil, fiquei com sérias dúvidas à respeito do uso de UTF8
> nos bancos.
> 
Falar que UTF-8 [1] é lento é mito. Ele só vai ser mais lento se estiver
utilizando multibyte [2] (Chinês, Japonês e Coreano são exemplos de línguas
que utilizam ele) -- comparado a idiomas latinos armazenados em UTF-8 também.
Isso porque os caracteres multibyte precisam de mais bytes para serem
armazenados e, então, eles custam mais para serem processados.
Eu *NÃO* disse que se perde capacidade de ordenação se _não_ utilizar o
LATIN1. Releia o que eu escrevi. Eu disse que *ao utilizar configuração
regional C, a ordenação vai ser diferente se você utilizar UTF-8 ou LATIN1*.

> Hoje utilizamos na empresa e em todos os nossos clientes o LATIN1, sem
> problemas. Gostaria de algum argumento para justificar o uso do UTF8.
> 
A justificativa é justamente que as aplicações hoje em dia "conversam" em
UTF-8. Se a sua aplicação emite caracteres em LATIN1 e o seu banco de dados
está em UTF-8, o PostgreSQL terá que converter de LATIN1 para UTF-8 para
armazenar e de UTF-8 para LATIN1 para ler os dados. Assim, isso vocês devem
decidir como uma estratégia de projeto.

[1] http://en.wikipedia.org/wiki/UTF-8
[2] http://en.wikipedia.org/wiki/Variable-width_encoding

-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a