vendredi, septembre 26 2008, 16:11
De la création d'index pour une fonction
Par Guillaume Lelarge - PostgreSQL - Lien permanent
Au cas où vous seriez en train de créer un index pour accélérer la rapidité d'une requête dans une fonction PL/pgsql, pensez à (re-)créer votre fonction après avoir créé l'index.
En effet, le plan de la fonction est créé lors de la création de la fonction, si bien que toute amélioration possible après coup (comme par exemple l'ajout d'un index) n'est pas pris en compte. Recréer la fonction recréera le plan d'exécution... et vous pourriez vous retrouver comme moi avec une fonction passant de 58 secondes de durée d'exécution à 2 secondes. Un gain vraiment appréciable 
Valide en version 8.1... pas sûr que cela soit encore nécessaire en 8.2 ou 8.3.
Mise à jour : merci à Thomas pour avoir trouvé une erreur dans ce billet... qui est maintenant corrigé.
aucun commentaire