PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 17/03/2017 18:41:18

Performances Pl/Python

Bonjour,

Pour un projet, j'ai décidé pour différentes raisons (principalement pour pouvoir utiliser des librairies Python spécifiques) d'utiliser plpython3u pour toutes ou partie des procédures stockées.

J'aimerais savoir si il y a des différences de performances fondamentales entre les 2 au niveau interne du moteur postgres. Par exemple, est-ce que les plans d'exécution seraient conservés en cache uniquement en PlPgsql (auquel cas il serait plus pertinent d'utiliser plpgsql pour les procédures n'effectuant quasiment que des opérations SQL)  ou bien est-ce que le langage utilisé n'a aucune influence ?

Si globalement quelqu'un a des retours d'expérience sur l'utilisation du plpython, je suis preneur.

Merci.

Hors ligne

#2 19/03/2017 08:46:38

gleu
Administrateur

Re : Performances Pl/Python

Le langage utilisé a une grosse influence. Il peut décider de mettre en cache certains plans d'exécutions. Il peut avoir des optimisations diverses. Malheureusement, je n'utilise pas PLpythonU, donc pas d'avis très intéressant sur son intérêt et ses performances.


Guillaume.

Hors ligne

#3 21/03/2017 15:04:17

Re : Performances Pl/Python

Bon ben je vais bencher alors ;-)

L'intérêt comme je le disais, c'est surtout de pouvoir utiliser les nombreuses librairies python, ou avoir une librairie de régles de gestions communes pour l'applicatif et les UDFs. Ca évite par exemple de devoir faire des batches en python avec psychopg2. On peut le faire directement dans une fonction plpython.

Hors ligne

#4 19/11/2024 13:46:30

harryjohn
Membre

Re : Performances Pl/Python

plpgsql is better for SQL-heavy tasks as it supports plan caching, making it faster for such operations. plpython3u is great for tasks needing Python libraries or complex computations, but it's slower for SQL since it uses the SPI interface. Choose based on your task needs!

Hors ligne

Pied de page des forums