Il piano di query per le query ad hoc non memorizzato nella cache, solo per dichiarazioni preparate
. E le funzioni PL/pgSQL gestiscono internamente tutte le istruzioni SQL come le istruzioni preparate. (Con la notevole eccezione dell'SQL dinamico con EXECUTE
.) Ciascuno per l'ambito della sessione corrente, non oltre.
Quindi le funzioni PL/pgSQL (non le funzioni SQL!) possono aiutare con l'esecuzione ripetuta di query sofisticate all'interno della stessa sessione. Proprio come le dichiarazioni preparate.
Il software client potrebbe utilizzare istruzioni preparate per impostazione predefinita. Oppure il protocollo "query estesa" protocollo , con lo stesso effetto.
Correlati:
La risposta correlata iniziata il thread su pgsql-general ti riferisci a:
Considera anche il capitolo Pianificare la memorizzazione nella cache per PL/pgSQL nel manuale.