La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Optimisation algébrique de requêtes relationnelles

Présentations similaires


Présentation au sujet: "Optimisation algébrique de requêtes relationnelles"— Transcription de la présentation:

1 Optimisation algébrique de requêtes relationnelles
Witold LITWIN

2 Exemple canon SP S P

3 Pourquoi optimiser algébriquement ?
|S| = 100 et |SP| = 500 SELECT SNAME FROM S SP WHERE S.S# = SP.S# AND P# = 'P1' ; Strategies possibles : ((S join SP ) where P# = 'P1' ) [SNAME] 2. ( S join (SP where P# = 'P1' )) [SNAME] Autres

4 Evaluation de performances
Criteria: prix de mémoire et de CPU |T| : taille du résultat intermédiaire T {T} : nombre de tuples examinés pour produire T

5 Evaluation Stratégie 1: | T = S JOIN SP | SP| = 500
| T' = T WHERE P# = P1 | = 5 (en moyenne) | T'' = T' [SNAME] |  {T}  boucle imbriquée) ' '' (en moyenne)

6 Evaluation Stratégie 2 : | T = SP WHERE P# = P1 | = 5 (en moyenne)
| T' = S JOIN T | T | = 5 | T'' = T' [SNAME] |  {T}  ' 

7 Comparaison Stratégie 2 est beaucoup plus efficace que Stratégie 1:
500 : 5 = pour la mémoire temporaire 50505 : 1005 = 50 pour le CPU Optimisation est importante !

8 Graphe de la requête Stratégie 1 [SNAME] WHERE P# = 'P1' S SP

9 Graphe de la requête Stratégie 2 [SNAME] WHERE P# = 'P1' S SP

10 Règle principale d'optimisation algébrique relationnelle
Les restrictions et les projections doivent en général être poussées vers le bas de l'arbre

11 Quelques autres règles utiles
Toute règle d'amélioration algébrique, si prouvée valable dans certain cas Plusieurs opérations en même temps jointure et projection jointure et restriction restriction et projection Une projection sur l'attribut de jointure poussée sous la jointure Si mémoire est + chère que CPU, alors pousse max de projections vers le bas

12 Jointures multivaluées X JOIN Y JOIN Z JOIN V

13 Jointures multivaluées X JOIN Y JOIN Z JOIN V
Traitement Parallèle V Z Y Z V X Y X

14 Jointures multivaluées X JOIN Y JOIN Z JOIN V
Jointures parallèles hachées V Z X Y X Y Z V

15 Limites d'optimisation algébrique
Le choix de stratégie optimale dépend aussi de structures physiques: hachées ou ordonnées ? boucle imbriquées pour jointures ou "sort-merge" (tri-interclassement) ou hachage ? pagination ou la base est en RAM indexation Solution générale : choix de solution à moindre coût (System R)

16 Conclusion Optimisation algébrique est la pierre angulaire des SGBD relationnels Aucune règle ne s'applique à tous les cas c'est pourquoi on parle souvent de règles d'amélioration seulement L'optimisation physique est au moins aussi importante Le traitement parallèle ou distribué est d'une importance déterminante pour des grandes tables

17 FIN


Télécharger ppt "Optimisation algébrique de requêtes relationnelles"

Présentations similaires


Annonces Google