Nós também utilizamos Numeric em todos os campos inteiros (para limitar a 
quantidade de dígitos que o usuário poderá informar) e decimais.

Também não temos nenhum problema de performance.

Não acredito que seja problema do Postgres tb.

Att,

Celso Lorenzetti
www.sysrs.com.br

----- Original Message ----- 
From: "Shander Lyrio" <[EMAIL PROTECTED]>
To: "Comunidade PostgreSQL Brasileira" <pgbr-geral@listas.postgresql.org.br>
Sent: Wednesday, July 30, 2008 2:39 PM
Subject: Re: [pgbr-geral] Quando usar? REAL, DOUBLE PRECISION e NUMERIC



William Leite Araújo wrote:
>      Posso dizer, por experiência própria, que o uso de numeric/decimal
> só é indicado em casos onde a quantidade de registros é pequeno e/ou não
> é usado em processamentos feito pelo banco de dados (qualquer fórmula
> e/ou conversão).

Eu acredito que numeric deva ser utilizando sempre que se precisar de
um campo do tipo numeric. Nunca vi nem ouvi esta história de  quantidade
de registros. Se você precisa fazer conversão é provavel que sua
modelagem inicial tenha sido errada e nada tem haver com o tipo numeric
em si.

>      No ano passado, num processo de migração, converti o tipo
> decimal(x,y) para o mesmo tipo no postgres, e ao trabalhar com campos
> desse tipo em procedimentos, a migração de uma simples tabela de menos
> de 500.000 registros durava mais de 20 horas. Ao converter esses campos
> para inteiro (pois a parte decimal nem era usada), o tempo de
> processamento caiu para 2 minutos. Isso mesmo! Na verdade deve ser menos
> que 2 minutos... um absurdo, mas um caso real.

Amigo, mágica não existe. Certamente existe outra coisa erra nos tais
"procedimentos" e não é o uso de numeric que causou este problema. Eu
uso extensivamente peso, cubagem e preços com numeric em tabelas com
muito mais registros do que o que você cita e nunca vi nada de anormal.

Vamos tomar cuidado com este tipo de afirmação categórica na lista sem
nenhum embasamento científico para evitar que colegas que cairam no
PostGreSql de paraquedas e ainda estão iniciando seus estudos achem que
isto é uma regra.

É muito mais fácil o seu "procedimento específico" ter sido executado
de forma pouco performática por qualquer outra limitação de ambiente do
que o PostGreSql manter um tipo de dados que não deveria ser usado pois
apresenta performance 600 vezes menor que outro.

>      Dessa forma, caso vá usar o valor que está sendo armazenado em
> algum procedimento/view/fórmula, não recomento tipo decimal/numerico.

Dados científicos, paupáveis e replicáveis para embasar esta recomendação??

--
Shander Lyrio
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral 

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to