Der Abfrageplan für Ad-hoc-Abfragen ist nicht zwischengespeichert, nur für vorbereitete Anweisungen
. Und PL/pgSQL-Funktionen behandeln alle SQL-Anweisungen intern wie vorbereitete Anweisungen. (Mit Ausnahme von dynamischem SQL mit EXECUTE
.) Jeweils für den Umfang der aktuellen Sitzung, nicht darüber hinaus.
Daher können PL/pgSQL-Funktionen (keine SQL-Funktionen!) bei der wiederholten Ausführung anspruchsvoller Abfragen innerhalb derselben Sitzung helfen. Genau wie vorbereitete Anweisungen.
Clientsoftware verwendet möglicherweise standardmäßig vorbereitete Anweisungen. Oder das "extended query"-Protokoll , mit dem gleichen Effekt.
Verwandte:
Die zugehörige Antwort, die gestartet hat der Thread auf pgsql-general Sie beziehen sich auf:
Beachten Sie auch das Kapitel Caching planen für PL/pgSQL im Handbuch.