2008/7/30 Shander Lyrio <[EMAIL PROTECTED]>

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

Esquecí de mencionar. A conversão inicial era de tabelas em DBF (clipper).


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

   Várias consultas sucessivas usando campo com o tipo "NUMERIC" e nenhuma
mágica ou magia negra ou qualquer outro modo obscuro da "força". Apenas
falta de atenção e pressa na execução de uma tarefa que me tomou mais de um
mês!


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

     Minha intenção é assustar mesmo. Fiquei pasmo quando isso aconteceu e,
caso tivesse tomado mais cuidado, certamente não teria perdido tanto tempo
acertando os procedimentos (óbvio que os testes da migração eram feitos em
uma base pequena, mas mesmo nelas, ao invés de receber o erro em 30 segundos
o mesmo demorava mais de 3 minutos...)


>
>        É 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.
>

     Não há nada de especial. Apenas consultas sucessivas a tabelas cuja
"constante" de comparação (no caso os valores [NEW].[coluna] que eram do
tipo NUMERIC.


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

     Infelizmente não posso divulgar, mas posso mostrar um exemplo numa base
qualquer.

#select count(1) from xmls_logs;
 count
-------
  6159
(1 registro)

#select 1 from xmls_logs where xml_id = '534'::numeric;
 ?column?
----------
        1
(1 registro)

*Tempo: 35,081 ms*

# select 1 from xmls_logs where xml_id = '534';
 ?column?
----------
        1
(1 registro)

*Tempo: 1,456 ms*

    Isso numa tabela de 6156 registros...

-- 
William Leite Araújo
Analista de Banco de Dados - QualiConsult
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a