Em 25 de outubro de 2011 14:34, Marcone <[email protected]> escreveu:
> select teste_stable(10), teste_stable(10); -- serão executadas duas vezes...
> select *, teste_stable(10) from tabela; -- Será executada uma vez não
> importa a quantidade de linhas na tabela;
>
> Nesse ultimo caso a chamada se repetiu para funções STABLE, mas uma
> única vez para IMMUTABLEs.

Internamente o PostgreSQL cria uma constante com o valor resultante da
função imutável (quando assim declarada) e utiliza isso dentro do
próprio plano de execução.

Faça testes com PREPARE e EXECUTE e veja os resultados entre os tipos
de volatilidade, também.

[]s
-- 
Dickson S. Guedes
mail/xmpp: [email protected] - skype: guediz
http://guedesoft.net - http://www.postgresql.org.br
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a