Comment estimer le coût d’un plan d’exécution ? Le SGBDR évalue le coût en ress
Comment estimer le coût d’un plan d’exécution ? Le SGBDR évalue le coût en ressources utilisées pour exécuter ce plan. Ces ressources sont : ■ le temps CPU ; ■ le nombre d’E/S (entrées/sorties) disque dur (I/O en anglais) ; ■ la quantité de mémoire vive (RAM) nécessaire. Le coût sera une synthèse entre l’utilisation du CPU et le coût des E/S, selon qu’il s’agit d’accès séquentiels (lecture de plusieurs blocs contigus) ou d’accès aléatoires (lecture monobloc). Cependant, vous imaginerez aisément que ce coût dépend non seulement de la requête elle-même, mais aussi des données sur lesquelles elle porte. En effet, calculer le salaire moyen d’une table contenant 10 personnes sera moins coûteux que de calculer la même moyenne sur une table d’un million de personnes alors que la requête sera la même. Pour estimer le coût d’une requête, le SGBDR a besoin de déterminer, pour chacune des étapes du plan d’exécution, le nombre d’enregistrements concernés, c’est-à-dire la cardinalité de l’opération. Cette cardinalité dépend des données elles-mêmes mais aussi de l’impact de chacune des conditions. Par exemple, une condition qui filtre sur un numéro de Sécurité sociale n’aura pas le même impact sur la cardinalité qu’une condition portant sur un département ou une année de naissance. Ce principe se nomme la sélectivité, nous l’étudierons au Chapitre 5, section 5.1.3, "Sélectivité, cardinalité, densité". L’optimiseur détermine le coût de chaque plan d’action d’exécution. Pour cela, sans exécuter aucun d’eux, ni parcourir les données, il définit les cardinalités de chaque opération à partir de statistiques sur les données (voir Chapitre 5, section 5.1, "Statistiques sur les données"). L’optimiseur cherche à déterminer le meilleur plan ; cependant, la notion de "meilleur" peut, dans certains cas, différer en fonction de l’objectif, l’Optimizer Goal, qui peut être de deux types : ■ First_Rows (premières lignes) ; ■ All_Rows (toutes les lignes). First_Rows privilégie le temps de réponse pour retourner les premières lignes. Cela peut être intéressant dans le cadre d’applications interagissant avec des utilisateurs. uploads/Ingenierie_Lourd/ comment-estimer 1 .pdf
Documents similaires










-
22
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 14, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.0313MB