Introduction Performance

La performance d’une requête SQL est un élément important de la mise au point d’une application : en effet, obtenir un résultat correct est une condition nécessaire, mais pas suffisante pour qu’une application soit considérée comme livrable : le temps et les ressources consommées sont des données critiques qu’il faut maîtriser du mieux possible.

Pour tenter de maîtriser ces deux notions, il faut comprendre comment PostgreSQL reçoit les ordres SQL et les interprète pour renvoyer les résultats : une requête SQL est transformée en un arbre d’exécution, où chaque nœud de l’arbre correspond à une étape. La nature de chaque nœud est choisie par PostgreSQL en fonction de ce qui semble le moins coûteux à l’interpréteur au moment du choix. Ce choix se base sur des estimations des ordres de grandeur des données présentes dans la base de données, pondérées par des constantes de coûts, elles-mêmes modifiables par l’intermédiaire de paramètres de configuration. 

Il existe de nombreuses raisons qui font que les choix semblent ne pas être les meilleurs possibles, comme par exemple, le fait que les estimations utilisées ne représentent pas correctement la réalité des données, ou encore le fait que des paramètres de configuration...

Pour consulter la suite, découvrez le livre suivant :
couv_RIPOST.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Déclencheurs
Suivant
La commande EXPLAIN