Talvez clusterizar um índice nesta tabela ajude no desempenho, já que os
dados serão reorganizados a cada registro gravado [1]. Assim, a ordem
retornada será sempre a mesma de um ORDER BY sobre a mesma coluna.

Na verdade não sei muito o que dizer, isso foi um *chute*. Fica um tanto
abstrato tentar dar alguma opinião sem um exemplo. Se puder exemplificar
alguma coisa seria mais fácil.

[1] http://www.postgresql.org/docs/8.4/static/sql-cluster.html

-- 
TIAGO J. ADAMI
http://www.adamiworks.com

2009/10/26 Rodrigo Sperb <[email protected]>

> Olá a todos,
>
> Eu tenho uma função implementada em PL\PgSQL que itera sempre pegando a
> linha do topo após ordenar por uma certa coluna. Isso se repete em todas
> iterações, e como faço atualizações nessa tabela (é uma "priority queue",
> para quem é familiarizado com notação matemática...) no intermédio, não
> possa ter a ordenação pré-estabelecida e sempre pegar o topo simplesmente...
> Preciso reordenar sempre.
>
> Acontece que isso leva algum tempo e eu preciso melhorar a performance do
> meu algoritmo. Ele é parte da minha tese de mestrado aqui na Holanda. Meu
> orientador me comentou que poderíamos ter as posições pré-definidas e fazer
> atualizações "inteligentes", mantendo cada registro na devida posição que
> deve ocupar... Mas ele ainda não me disse nada de como fazer. Queria, então,
> saber se alguém tem alguma idéia de como se pode fazer algo assim?
>
> Desde já agradeço.
>
> Rodrigo Sperb
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a