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

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

Présentations similaires


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

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

2 2 Exemple canon S P SP

3 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 : 1. ((S join SP ) where P# = 'P1' ) [SNAME] 2. ( S join (SP where P# = 'P1' )) [SNAME] Autres

4 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 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 6 Evaluation Stratégie 2 : | T = SP WHERE P# = P1 | = 5(en moyenne) | T' = S JOIN T | T | = 5 | T'' = T' [SNAME] | {T} '

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

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

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

10 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 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 12 Jointures multivaluées X JOIN Y JOIN Z JOIN V XY Z V

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

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

15 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 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 17 FIN


Télécharger ppt "1 Optimisation algébrique de requêtes relationnelles Witold LITWIN."

Présentations similaires


Annonces Google