Em 2 de abril de 2013 09:11, Marcelo da Silva <[email protected]> escreveu:
[... corte ...]
> Até hoje eu tenho o conceito que:
>
> N Caracteres fixos = CHAR
> N Caracteres variados = VARCHAR
>
> Lendo essa matéria sobre Oracle voltou a dúvida:
> http://www.fabioprado.net/2011/08/qual-tipo-de-dado-devo-usar-char.html
>
> Na matéria diz que "deve-se evitar o uso de CHAR" mesmo que seja fixo, por
> exemplo em UF (CHAR(2))
>
> A final, deve-se ou não usar o CHAR sendo que existe o VARCHAR ?
>
> Pra mim o CHAR seria mais rápido por ter um tamanho fixo, mas pela matéria
> mostra-se o inverso!!!
>
> Sei que a matéria fala sobre o Oracle, mas como o Postgres no meu ver tem
> muito a ver com ele, como se comportar no caso do CHAR e VARCHAR do postgres
> ?

O Postgres implementa ambos da mesma forma, e até onde eu sei, não
existe nada que faça com que um CHAR(N) seja mais rápido que um
VARCHAR(N) a diferença é que, no caso do CHAR o tamanho é verificado
para adicionar espaços adicionais que preencham-no até N caracteres,
já na comparação os espaços são removidos para comparar, mas isto é
desprezível e você pode testar.

Eu sempre utilizo VARCHAR.

Em tempo, veja estes testes comparativos feito pelo depesz:

http://www.depesz.com/2010/03/02/charx-vs-varcharx-vs-varchar-vs-text/

[]s
-- 
Dickson S. Guedes
mail/xmpp: [email protected] - skype: guediz
http://github.com/guedes - http://guedesoft.net
http://www.postgresql.org.br
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a