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
