2013/7/17 Euler Taveira <[email protected]>

> On 16-07-2013 19:57, Alessandro Gonçalves wrote:
> > Alguns caracteres que compõem utf-8 necessitam de até 3 bytes, se não me
> > engano 2 para armazenar o caracter e 1 byte para guardar a sua posição
> > enquanto em latin-1 os caracteres ocupam apenas 8 bits (1 byte).
> >
> Na verdade, até 4 bytes. Quanto a parte da posição isso *não* é verdade.
> UTF-8 ocupa o menor espaço possível (o alfabeto é mapeado todo apenas
> com 1 byte).
>
> > Logo se usarmos utf-8 o tamanho do banco tende a ser maior com o tempo,
> > se a base for maior pior é isso em varios pontos como espaço em disco,
> > backup (Hoje em dia isso é muito barato) o que é mais caro hoje em
> > questão de estrutura é o IO.
> >
> Para o português, converter de Latin-1 [1] (aka ISO-8859-1) para UTF-8
> [2] não irá aumentar o seu banco pois todos os caracteres do Latin-1 são
> mapeados para UTF-8 utilizando o *mesmo* tamanho em bytes (isso não é
> verdade, por exemplo, para alfabetos cirílicos -- línguas eslavas).
>
>
Só uma correção, até onde me lembro, os caracteres acentuados (êãú...) são
representados com dois bytes em UTF8, não um. Logo o espaço ocupado para
textos em português em UTF8 pode ser, no máximo, o dobro dos representados
em Latin-1. Mas, é claro, que a grande maioria não é caractere acentuado.

Só pra ter uma ideia, peguei essa mensagem de e-mail e fiz a contagem:

Latin1 = 2454 bytes
UTF8 = 2517 bytes

Para um texto razoavelmente grande, a diferença é ínfima.


> > Você precisa usar UTF-8? Sim. Então use, senão for necessário utilize
> > LATIN-1 que irá ocupar menos espaço em disco.
> >
> A questão de *não* utilizar UTF-8 é meramente por falta de suporte das
> interfaces ao UTF-8 (que diga-se de passagem, se elas ainda não o
> suportam, elas devem estar obsoletas) e _não_ por questão de espaço.
>
> Como reforçou o Osvaldo, *não* utilize Latin-1 a não ser que você seja
> obrigado a isso.
>
>
Também concordo. Usar Latin-1 ao invés de UTF-8 somente por ocupar um pouco
mais de espaço é, na minha opinião, uma "regressão tecnológica" . Hoje eu
diria para usar UTF-8 em qualquer projeto novo.

-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a