[pgsql] intéret relatif des procédures stockées
Laurent7-Jun-2011/15:04:09+2:00
Juste pour vous dire que j'ai fait un petit benchmark pour voir s'il y avait un intérèt à écrire des procédures stockées en PL/pgSQL (compilées une seule fois donc) pour accèlerer la récupération des données.
Sur mon petit notebook j'ai fait avec Linux/Cheyenne/pgsql/PostgreSQLV9 plusieurs fois 1000 requètes SELECT de trois façons différentes:
1) utilisation d'une procédures stockée PostgreSQL via pgsql
2) utilisation simple de pgsql en passant par une vue PostgreSQL
3) utilisation de pgsql avec requète compléte sans utilisation de vue

Les résultats sont les suivants:

* L'utilisation d'une vue ou de la requête complète avec pgsql est exactement la même en termes de vitesse.
* Le gain du passage par la procédure stockée PL/pgSQL n'est que de... moins de 1% !

J'ai donc pu constater que (sur mon système en tout cas) les goulots d’étranglements (disque etc) sont si importants que ce n'est pas la peine d'ajouter une couche de code et les éventuels bugs qui vont avec pour gagner du temps de compilation SQL qui est négligeable par rapport au reste.
En plus ma base est presque vide donc le rapport du temps de compil par rapport au reste est pourtant plus important.
Dans mon cas le seul intérêt des procédures stockées pourrait être "l'encapsulation" du code SQL mais je peux avoir la même transparence en utilisant une vue.

Voilà, je voulais juste vous signaler ça.
Jedi8-Jun-2011/9:52:14+2:00
Hello,

A vrai dire, comme toutes procédures stockées en bases de données, les procédures stockées PL/pgSQL servent surtout à développer des "programmes" pour des traitements spéciaux - grâce aux curseurs et autres structures de contrôle - difficilement réalisables en requêtes SQL simples (même par les vues). Donc effectivement, peu d'intérêt d'y mettre seulement des requêtes SQL traditionnelles (pour ça : les vues suffisent).

a+
Jedi
--
http://www.sebastien-jeudy.fr

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2