Que ódio!

Vocês sabem o que é perder tempo precioso com besteiras? Pois é, dá uma raiva, não é mesmo?. Na nova Intranet estamos usando todas as possibilidades do PostgreSQL 8.x para gerar nossos relatórios e estatísticas. Um de nossos clientes-teste, que tem mais de 80 milhões de registros na tabela de eventos nos ligou hoje cedo dizendo que os relatórios novos estavam mais lentos que os antigos (!!).

Começamos uma investigação completa sobre o que poderia ser… e não é que as tais funções agregadas do PostgreSQL deixam o sistema mais lento? Pelo que notei, quando você faz, por exemplo:

SELECT COUNT( * ) FROM abcd WHERE data>date_part(‘epoch’::text, now())

O PostgreSQL executa a função agregada em cada registro, mesmo se o conteúdo da mesma for estático, como no exemplo acima. O custo desse SELECT ficou astronômico. Mudei toda a validação de data/hora para dentro da Intranet… pelo menos 10x mais rápido.

Que ódio!!

:)

This entry was posted in Linux, Programação, Tecnologia, aedsol.com. Bookmark the permalink.

Leave a Reply