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). > 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. [1] http://en.wikipedia.org/wiki/Latin-1 [2] http://en.wikipedia.org/wiki/Utf-8 -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
