Em 02-04-2013 09:11, Marcelo da Silva escreveu:
Pessoal, vira e mexe nos deparamos com a mesma dúvida só que por angulo
diferente.
Por exemplo, antigamente numa cirurgia de garganta tirava-se as amídalas
e pronto, hoje não se tira mais porque sabe-se que as amídalas são um
alarme muito importante :)

Bem passando de pato pra rato, temos o "Usar CHAR ou VARCHAR" ?

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))

Neste caso específico, o que se aplica pra Oracle não se aplica pra PostgreSQL.

A final, deve-se ou não usar o CHAR sendo que existe o VARCHAR ?

Como você mesmo falou, depende de sua aplicação.
O CHAR vai inserir caracteres em branco na saída caso não se utilize todas as posições.
VARCHAR não faz isso.


Pra mim o CHAR seria mais rápido por ter um tamanho fixo, mas pela
matéria mostra-se o inverso!!!

No PostgreSQL, existem alguns testes que mostram que a diferença de desempenho é irrelevante.

CHAR tenderá a usar mais espaço em disco caso não se utilize todas as posições. VARCHAR por outro lado tem bytes extras para especificar tamanho.

Considere, realmente, sua aplicação. O exemplo de UF é claro para CHAR.

O PostgreSQL trabalha com páginas de 8kiB (por default) e, portanto, a diferença de desempenho para colunas menores que isso deve ser completamente irrelevante.

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 ?

* Sei que existem muitas matérias na web sobre o postgres, mas gostaria
de saber a opinião do especialistas aqui da lista :) (acho mais
confiável, rsrsr)

Bom, tá aqui a *minha* opinião, mas outros colegas podem ter visão diferente.

[]s


__________________________________
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos & Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: fla...@4linux.com.br
______________________________
FREE SOFTWARE SOLUTIONS
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a