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

Responder a