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
