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
