Vous n'êtes pas identifié(e).
Pages : 1
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
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
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
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
Pages : 1