On 27-05-2015 14:58, Matheus Saraiva wrote: > Li a documentação do postgresql mas não achei satisfatória a explicação > do parâmetro COST. Entendi que é um "custo" de uso do processador. Como > assim? Alguém poderia fornecer uma explicação mais clara? E como > escolher o valor mais adequado para cada caso? > O valor fornecido é o custo por tupla retornada pela função. Por padrão, funções em C tem custo 1 e funções PL/pgSQL tem custo 100. Quando se monta o plano de execução, esse quantitativo pode influenciar entre escolher um plano ou outro (por exemplo, decidir entre uma busca sequencial ou por índice). Geralmente não é aconselhável ficar mexendo nesse valor, a não ser que você conheça bem o modelo de custo do planejador.
Só para exemplificar, a alguns semanas atrás algumas funções do text search [1] sofreram alteração no parâmetro COST justamente porque estavam pegando planos dezenas ou centenas de vezes mais lentos do que outros (vide discussão em [2]). [1] http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=2503982be4ca48f48d2bb6e1d46160b23e4bb268 [2] http://www.postgresql.org/message-id/[email protected] -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
