William Leite Araújo escreveu:
> 2008/7/30 Shander Lyrio <[EMAIL PROTECTED] 
> <mailto:[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:

Só para fins de esclarecimento: Você pode rodar as duas consultas 
acima mas em ordem invertida? Isso é:
Primeiro: select 1 from xmls_logs where xml_id = '534';
e logo depois: select 1 from xmls_logs where xml_id = '534'::numeric;
e reportar os tempos obtidos?

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

Responder a