PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Performances PostgreSQL du SQL ad hoc par rapport aux fonctions

Le plan de requête pour les requêtes ad hoc n'est pas mis en cache, uniquement pour les instructions préparées . Et les fonctions PL/pgSQL gèrent toutes les instructions SQL comme des instructions préparées en interne. (À l'exception notable du SQL dynamique avec EXECUTE .) Chacun pour la portée de la session en cours, pas au-delà.

Ainsi, les fonctions PL/pgSQL (et non les fonctions SQL !) peuvent aider à l'exécution répétée de requêtes sophistiquées au sein de la même session. Tout comme les déclarations préparées.

Le logiciel client peut utiliser des instructions préparées par défaut. Ou le protocole de "requête étendue" , dans le même sens.

Connexe :

La réponse connexe qui a commencé le fil de discussion sur pgsql-general vous faites référence à :

Considérez également le chapitre Plan Caching pour PL/pgSQL dans le manuel.