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