OPTIMISATION Institut National des Sciences Appliquées – Rouen Département Architecture des Systèmes d’Information.

Slides:



Advertisements
Présentations similaires
Optimisation des requêtes
Advertisements

Structures de données avancées : Introduction
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Algorithmes et structures de données avancés
Fonctionnalités des SGBD
Algèbre relationnelle
Optimisation algébrique de requêtes relationnelles
Optimisation de Requêtes
SGBDR : LA GESTION DES VUES
Georges Gardarin 1 LE LANGAGE DE REQUETES SQL l Origines et Evolutions l SQL1 86: la base l SQL1 89: l'intégrité l SQL2 92: la nouvelle norme l SQL3 98:
Optimisation de Requêtes
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Les contraintes d’integrité
To Tune or not to Tune? To Tune or not to Tune? A Lightweight Physical Design Alerter Costa Jean-Denis Le Yaouanc Aurélie Mécanismes de SGBD 2007.
Contrôles d'accès aux données
Démarche de résolution de problèmes
LE LANGAGE SQL Langage de manipulation de données (LMD)
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
Bases de données lexicales
L’utilisation des bases de données
Les fichiers indexés (Les B-arbres)
LA STRUCTURE D'ARBRE-B Institut National des Sciences Appliquées – Rouen Département Architecture des Systèmes d’Information.
LES ARBRES IUP 2 Génie Informatique
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections 15.5.
Optimisation des Requêtes Relationnelles
1 Évaluation des Requêtes: Survol Chapitre Objectifs Catalogue Préliminaires: Techniques de base pour traiter des requêtes Chemin daccès Correspondance.
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Évaluation des Requêtes: Survol Chapitre 12.

Universté de la Manouba
Cours de Base de Données & Langage SQL
Gestion de Fichiers GF-10: Traitement Co-Sequentiel: Appariment et Fusion de Plusieures Listes (Base sur les sections de Folk, Zoellick & Riccardi,
Calcul des groupes d'homologie d’objets discrets
Initiation aux bases de données et à la programmation événementielle
Programmation dynamique

Algèbre Relationnelle : Implémentation
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
Créer des packages.
Bases de données fédéréEs hétérogènes
Optimisation de requêtes
Programmation linéaire en nombres entiers
Algorithmes Branch & Bound
Arbres binaires et tables de hachage
1 G. Gardarin Optimisation de Requêtes  1. Introduction  2. Arbres relationnels  3. Restructuration algébrique  4. Modèle de coût  5. Choix du meilleur.
Modèles Mathématiques et représentation discrètes pour la description des images couleur Luc Brun.
Structures de données avancées : Concepts du Multidimensionnel D. E ZEGOUR Institut National d ’Informatique.
Initiation à la conception des systèmes d'informations
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Sélection de colonnes (la projection)
Le modèle relationnel Plan 1. Concepts descriptifs
1 J. PHILIPP d'après G. Gardarin SGBDR : la gestion des vues l 1. Contexte l 2. Vues externes l 3. Interrogation des vues l 4. Mises à jour des vues l.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Optimisation pour la Conception de Systèmes Embarqués
22/04/2015© Robert Godin. Tous droits réservés.1 10 Évaluation des requêtes relationnelles n SQL – QUOI n Évaluateur de requêtes du SGBD – COMMENT – en.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Initiation aux SGBD Frédéric Gava (MCF)
Structures de données avancées : Principales structures de fichiers
Langage Relationnel Graphe de Requêtes
Introduction Module 1.
Traitement et optimisation de requêtes
Cours 11 Entrepôts de données
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
1 Les bases de données Séance 6 L ’extraction de données Le SELECT.
Transcription de la présentation:

OPTIMISATION Institut National des Sciences Appliquées – Rouen Département Architecture des Systèmes d’Information

SGBD RELATIONNEL LE CHOIX DU CHEMIN D'ACCES AUX DONNEES EST FAIT PAR LE SYSTEME. QUESTIONS SIMPLES : * CHOIX PEU SIGNIFICATIF * FAIBLE COUT QUESTIONS COMPLEXES : * TEMPS DE REPONSE DEPENDANT DU BON CHOIX * COUT ELEVE POUR REALISER LE BON CHOIX FAIRE LE BON CHOIX : TEMPS D'EXECUTION QUESTION OPTIMISEE + TEMPS D'OPTIMISATION ==> INFERIEUR A QUESTION NON OPTIMISEE

TRAITEMENT D'UNE REQUETE ANALYSE DE LA QUESTION - SYNTAXIQUE - SEMANTIQUE MODIFICATION DE QUESTION - LOGIQUE - FACITITES UTILISATEURS (VUES, INTEGRITE, DROITS)‏ OPTIMISATION (PLAN D'EXECUTION)‏ - ALGEBRIQUE - MODIFICATION DE QUESTION - EVALUATION DE PLAN

TRAITEMENT D'UNE REQUETE (2)‏

OBJECTIFS TRADUCTION DES REQUETES UTILISATEURS (EXPRIMEES DANS UN LANGAGE ASSERTIONNEL) DANS UNE EXPRESSION OPTIMISEE DU PLAN D'EXECUTION TROIS TECHNIQUES DE BASE * RESTRUCTURATION ALGEBRIQUE -->CLASSIQUE *MODIFICATION DE QUESTIONS -->INGRES *EVALUATION DU COUT -->SYSTEM-R

ACTEURS DEUX INTERVENANTS L'EVALUATEUR : TRADUIRE LA REQUETE UTILISATEUR EN UNE SUITE D'OPERATIONS ELEMENTAIRES DE L'ALGEBRE RELATIONNELLE. L'OPTIMISEUR : ASSOCIER A CETTE SUITE UN PLAN D'EXECUTION AFIN QUE LE COUT D'EXECUTION DE LA REQUETE SOIT MINIMUM. MOMENT DE L'OPTIMISATION COMPILATION - Optimisation a priori - Stockage dans une bibliothèque INTERPRETE : - Optimisation a chaque requête

1. ANALYSE DE LA QUESTION ANALYSE SYNTAXIQUE A/ VERIFIER LA COHERENCE DE LA QUESTION PAR RAPPORT AU SCHEMA DE LA BD : => EXISTENCE DES RELATIONS, ATTRIBUTS,... B/ MISE SOUS FORME STANDARD DE LA REQUETE SOUS FORME NORMALE CONJONCTIVE (OU DISJONCTIVE)‏ FNC : (A1 OR A2 OR... AN) AND (B1 OR B2 OR... BN) FND : (A1 AND A2 AND... AN) OR (B1 AND B2 AND... BN)‏

1. ANALYSE DE LA QUESTION (2)‏ ANALYSE SEMANTIQUE VERIFIER LA CORRECTION DE LA QUESTION GRAPHE DE CONNECTION DES RELATIONS (PAS DE RELATIONS ISOLEES): Un sommet pour chaque relation Une jointure est représentée par un arc Une sélection par une boucle sur la relation GRAPHE DE CONNECTION DES ATTRIBUTS NORMALISES (PAS DE CRITERES CONTRADICTOIRES) : Un sommet est associe a chaque référence d'attribut ou de constante, Une jointure est représentée par un arc entre les attributs participants, Une sélection par un arc entre un attribut et une constante

VERIFICATION DE LA CORRECTION DE LA QUESTION UNE REQUETE EST INCORRECTE SI 1. SON GRAPHE DE CONNECTION DES RELATIONS N'EST PAS CONNEXE => IL EXISTE AU MOINS UNE RELATION ISOLEE NON RATTACHEE AUX AUTRES OU BIEN 2. SON GRAPHE DE CONNECTION DES ATTRIBUTS PRESENTE UN CYCLE DONT LA SOMME DES VALUATIONS EST NEGATIVE => LA QUESTION EST CONTRADICTOIRE

VERIFICATION DE LA CORRECTION D'UNE QUESTION BUVEURS (NB, NOM, PRENOM, VILLE, REGION)‏ VINS (NV, CRU, REGION, MILL, DEGRE)‏ ABUS (NV, NB, DATE, QUANTITE)‏ SELECT* FROMVINS V, ABUS A WHEREV.MILL = 1978 AND A.DATE < 1976 LES RELATIONS ABUS ET VINS NE SONT PAS RELIEES DANS LE GRAPHE DES RELATIONS ==> CETTE SELECTION N'EST PAS SATISFAISABLE

VERIFICATION (2)‏

2. MODIFICATION DE QUESTIONS DEFINITION UNE REQUETE PEUT ETRE TRANSFORMEE EN PLUSIEURS ARBRES ALGEBRIQUES (IL Y PLUSIEURS FACONS DE DEFINIR UNE REQUETE EN SQL ET EN ALGEBRE)‏ BUT 1. METTRE LA REQUETE SOUS UNE FORME STANDARD 2. SIMPLIFIER EN ELIMINANT LES REDONDANCES 3. CONSTRUIRE UNE EXPRESSION EQUIVALENTE PLUS PERFORMANTE A EVALUER

2. MODIFICATION DE QUESTIONS (2)‏ PRINCIPE : QUESTIONS EQUIVALENTES DEUX QUESTIONS SONT EQUIVALENTES SI ELLES DONNENT LE MEME RESULTAT POUR TOUTE EXTENSION DE LA BD 2 MOYENS : 1. CRITERES = PREDICATS DE LA LOGIQUE DU PREMIER ORDRE => LOGIQUE 2. UTILISATION DES FACILITES UTILISATEURS

FACILITES UTILISATEURS (Exemple : CONTRAINTES D'INTEGRITE)‏ DEPART UNE QUESTIONAVEC QUALIFICATION UN ENSEMBLE DE CONTRAINTES D'INTEGRITE  I1, I2,... In  PRINCIPE : NON CONTRADICTION QUESTION /CONTRAINTE D'INTÉGRITÉ (DETECTION IMMEDIATE)‏ EXEMPLE : SELECT* FROMVINS WHERECRU = 'JURANCON'AND DEGRE < 10

FACILITES UTILISATEURS (2)‏ CONTRAINTE D'INTEGRITE SUR VINS : CRU = 'JURANCON' => DEGRE >= 12 REQUETE MODIFIEE : SELECT * FROM VINS WHERE CRU = 'JURANCON' AND DEGRE 12 =>REPONSE VIDE

3. OPTIMISATION DE QUESTION LORSQUE LA REQUETE EST CORRECTE, LE BUT EST D'ASSOCIER UN PLAN D'EXECUTION DONT LE COUT EST MINIMUM ET DONT LA DETERMINATION NE NECESSITE PAS TROP DE TEMPS. 3 METHODES 1.Restructuration algébrique 2.Décomposition de questions 3.Evaluation de plans REMARQUE : CES METHODES NE SONT PAS EXCLUSIVES

ARBRE ALGEBRIQUE ARBRE ayant pour NOEUDS les OPERATIONS de L'ALGEBRE RELATIONNELLE, pour FEUILLE des RELATIONS et dont les ARCS représentent les FLUX DES DONNEES Remarque : Plusieurs arbres différents permettent de modéliser la même requête

Restructuration algébrique "DONNER LES NOMS ET LES PRENOMS DES BUVEURS HABITANT Paris QUI ONT COMMANDE DU Mâcon 1977 AVANT LE 15/05/88"

Restructuration algébrique (2)‏

Restructuration algébrique (3)‏ PRINCIPE : Suivant L'ORDRE DES OPERATEURS ALGEBRIQUES dans un arbre, LE COUT D'EXECUTION est DIFFERENT POURQUOI ? 1. LE COUT DES OPERATEURS VARIE EN FONCTION DU VOLUME DES DONNEES QU'ILS TRAITENT (PLUS LE NOMBRE DE TUPLE DES RELATIONS TRAITEES EST PETIT, PLUS LES COUTS CPU ET D'E/S SONT MINIMISES)‏ 2. CERTAINS OPERATEURS DIMINUENT LE VOLUME DES DONNEES IL FAUT DONC : POUR CHAQUE OPERATEUR, EVALUER LA TAILLE DE LA RELATION RESULTAT, APRES APPLICATION DES OPERATEURS ALGEBRIQUES

FACTEURS LA TAILLE D'UNE RELATION R EST EGALE AU NOMBRE DE TUPLES DE R QUE MULTIPLE LA LONGUEUR DE SES TUPLES TAILLE (R) = Nb_tuples (R) * Lg (R)‏ 1. SELECTION :a (R)‏ TAILLE (a(R)) = p(a) * TAILLE (R)‏ p (a) = probabilité que a soit vérifiée => PUISSANT REDUCTEUR 2. PROJECTION :  x (R)‏ TAILLE (  x (R)) = L(x) * TAILLE (R)‏ Avec L(x) = Lg (x) / Lg (R)‏ Sans élimination de doubles => PUISSANT REDUCTEUR

FACTEURS (2)‏ 3. JOINTURE :R1R2 J * TAILLE (R1) * TAILLE (R2)‏ Avec : J dépends de chaque jointure J = 0 Si aucun tuple ne joint J = 1 Si produit cartésien Nb_tuple (R1) * Nb_tuple (R2) * (Lg (R1) + Lg (R2))‏ => PEUT AUGMENTER LA TAILLE DE LA RELATION RESULTAT

HEURISTIQUE APPLIQUER D'ABORD TOUTES LES SELECTIONS ET PROJECTIONS MOYEN : UTILISATION DES REGLES DE RESTRUCTURATION D'OPERATEURS ALGEBRIQUES 1. PROPRIETES DES JOINTURES : (1) COMMUTATIVITE (2) ASSOCIATIVITE 2. PROPRIETES DU PRODUIT CARTESIEN : (3) COMMUTATIVITE (4) ASSOCIATIVITE

HEURISTIQUE (2)‏ 3. PROPRIETES DES  : (5) CONCATENATION DES  (6) CONCATENATION DES  4. COMMUTATION DES  AVEC (7)LA JOINTURE (8)LE PRODUIT CARTESIEN (9)LA PROJECTION (10)L'UNION (11)LA DIFFERENCE 5. COMMUTATION DES  AVEC (12)LA JOINTURE (13)LE PRODUIT CARTESIEN (14)L'UNION

Graphiques

Graphiques (2)‏

Graphiques (3)‏

Graphiques (4)‏

Graphiques (5)‏

DECOMPOSITION DE QUESTION OUTIL : GRAPHE DES RELATIONS PRINCIPE : LE DETACHEMENT DE QUESTIONS : TRANSFORMATION CONSISTANT A DIVISER LE GRAPHE DES VARIABLES EN DEUX COMPOSANTES CONNEXES PAR DEDOUBLEMENT D'UN NOEUD. DETACHEMENT POSSIBLES : SELECTIONS, SEMI-JOINTURES

DECOMPOSITION DE QUESTION (2)‏ SELECTIONS TOUTE SELECTION PEUT ETRE DETACHEE EXEMPLE SELECT  Ai  FROMR1, R2,... Rm  WHERE Rj. Ai = Rk. Ai and R1. An = VALEUR  INSERT INTO T SELECT * FROM R1 WHERE R1. An = VALEUR SELECT  Ai  FROM T, R2,... Rm WHERE Rj. Ai = Rk. Ai

DECOMPOSITION DE QUESTION (3)‏ REQUETE : "Buveurs habitant Macon ayant bu du Macon après le 1/1/83" : Q1 : INSERT INTO V' SELECT NV FROM VINS WHERE CRU = 'MACON' Q2 : INSERT INTO A' SELECT NB FROM ABUS WHERE DATE >= "1/1/83" Q3 : INSERT INTO T SELECT NB FROM A', V' WHERE A'.NV = V'.NV Q4 : INSERT INTO B' SELECT NOM, PRENOM, NB FROM BUVEURS WHERE VILLE = 'MACON‘ Q5 :SELECT NOM, PRENOM FROM B', T WHERE BUVEUR.NB = T'.NB

DECOMPOSITION DE QUESTION (4)‏ SEMI-JOINTURES LA SEMI-JOINTURE DE R PAR S, NOTEE R S, EST LA JOINTURE DE R PAR S, PROJETEE SUR LES ATTRIBUTS DE R R S =  r (R S)‏ TOUTE SEMI-JOINTURE PEUT ETRE DETACHEE

DECOMPOSITION DE QUESTION (5)‏ EXEMPLE SELECTR.B FROMR,S WHERER.A = S.A and PRED (R)‏ => INSERT INTO T SELECTR. * FROMR, S WHERE R.A = S.A SELECT T.B FROM T WHERE PRED (T)

EVALUATION DE PLANS METHODES D'EVALUATION DE COMPOSANTS DE REQUETE DE COMPLEXITE VARIABLE AVEC UN PRINCIPE DE BASE : L'EVALUATION DE LA TAILLE DES RESULTATS PROBLEME POUR CHAQUE RELATION, CHOISIR LE MEILLEUR CHEMIN D'ACCES ET LE MEILLEUR ALGORITHME DE JOINTURE

EVALUATION DE PLANS (2)‏ ELEMENTS DISPONIBLES : 1. METHODES D'ACCES - SEQUENTIEL - INDEXE - PLACANT - NON PLACANT 2. ALGORITHMES DE JOINTURE -BOUCLES IMBRIQUEES -TRI-FUSION -HACHAGE 3. STATISTIQUES SUR LES RELATIONS ET LES INDEX

EVALUATION DE PLANS (3)‏ METHODE D'ACCES CAS SANS INDEX - FILTRAGE EN SEQUENTIEL DU FICHIER - TRIER LA RELATION (GARDEE TRIEE) ASCENDANTE, DESCENDANTE, DICHOTOMIQUE Ex : "RANGE QUERIES" CAS AVEC INDEX - UNI-DIMENSIONNEL (ISAM, Arbre-B)‏ - MULTI-DIMENSIONNEL (Grid File, Arbres de Prédicats)‏

STRUCTURE DE STOCKAGE DONNEES STOCKEES DANS DES SEGMENTS : RELATIONS STOCKEES ENTIEREMENT DANS UN SEGMENT. PLUSIEURS RELATIONS PAR SEGMENT. SEGMENTS TYPES : TEMPORAIRES, PERMANENTS. ALLOCATIONS REGROUPEES DE PAGES.

CHEMINS D'ACCES INDEX TRIES MONO OU MULTI- ATTRIBUT. INDEX BASES SUR LES ARBRES-B. EXISTANCE DES TIDs : Nro PAGE, ADR. Indirecte/Page POSSIBILITE D'AVOIR DES INDEX PLACANTS : 2 TYPES DE SEGMENTS - SEQUENTIELS AUCUN ORDRE LOGIQUE DES TUPLES - CLUSTERS LES TUPLES SONT INSERES DANS L'ORDRE D'UN INDEX (Triés ou pré- jointure)‏

METHODE GENERATION DE PLUSIEURS PLANS COUT COMBINATOIRE ==> TROP COUTEUX. SOLUTION ELIMINER DES PLANS A PRIORI- HEURISTIQUES- * OPTIMUM LOCAL * COMPILATION DU PLAN D'EXECUTION OBTENU * INSERER DANS UN CATALOGUE DE PLANS. PROBLEME * PLAN STATIQUE. NE TIENT PAS COMPTE DU CHANGEMENT DE TAILLES DES DONNEES. * SI LA METHODE D'ACCES CHANGE EN - : RECOMPILER LA QUESTION EN +: ON NE PEUT PAS EN PROFITER

CHOIX DES ALGORITHMES (JOINTURE)‏ PAR BOUCLE IMBRIQUEE Pour CHAQUE PAGE DE R1 Pour CHAQUE PAGE DE R2 JOINDRE (P.R1, P.R2)‏ Fpour COUT =  R1  *  R2  PAR TRI-FUSION TRIER (R1); TRIER (R2)‏ FUSIONNER (R1, R2) COUT = 2  R1  LOG  R1  +  R2  LOG  R2  +  R1 + R2

CHOIX DES ALGORITHMES (2)‏ JOINTURE (AVEC INDEX) SUR R1 POUR CHAQUE PAGE DE R2 LIRE (R2) POUR CHAQUE TUPLE LU ACCEDER A R1 EN INDEX JOINDRE SI SUCCES Fpour SUR R1 ET R2 -> FUSIONNER LES INDEX

CHOIX DES ALGORITHMES (3)‏ PAR HACHAGE HACHER (R1) (+ PETITE RELATION)‏ POUR CHAQUE PAGE DE R2 LIRE (R2) POUR CHAQUE TUPLE LU ACCEDER AU FICHIER ALEATOIRE JOINDRE SI SUCCES Fpour COUT =  R1  + A  R1  +  R2  + A  R2  PAR SEMI-JOINTURE EFFECTUER LES SEMI-JOINTURES R1 R2 ET R2 R1 AVANT JOINTURE

CHOIX DES ALGORITHMES (4)‏ EXECUTION PARALLELE (EVITER L'ACCES REPETITIF AUX MEMES DONNEES)‏ - EVALUATION DE TOUTES LES SELECTIONS SUR UNE RELATION EN UNE SEULE PASSE - JOINTURE EN PARALLELE A.NV = V.NV ET A.NB = B.NB LA RELATION A N'EST LUE QU'UNE SEULE FOIS - PIPELINE D'OPERATIONS: ENCHAINER SELECTION ET PROJECTION SUR UNE MEME RELATION

CHOIX DU PLAN D'EXECUTION POUR CHAQUE SOLUTION UN COUT EST CALCULE : COUT = NOMBRE D'ACCES PAGES + W * Nombre d'appels internes (W : IMPORTANCE DU TEMPS CPU PAR RAPPORT AUX E/S OU LE TEMPS DES E/S EST FONCTION DU NOMBRE DE PAGE ACCEDEES)‏

CHOIX DU PLAN D'EXECUTION (2)‏ STATISTIQUES * NBTUP: Nombre de tuples * NBPAG: Nombre de pages * NBCLE: Nombre de clés * NCARD (R): Cardinalité * TCARD (R): Nombre de pages * MIN (attribut): Valeur minimum d'un attribut numérique * MAX (attribut): Valeur maximum d'un attribut numérique * ICARD (I): Nombre clés distinctes dans index * NBINDX (I) : Nombre pages de l'index * CLUSTER (I): Index plaçant ou non * RISCARD = F(PRED) * NBTUP

CALCUL DU FACTEUR DE SELECTIVITE ATTRIBUT = VALEUR ATTRIBUT > VAL VAL 1 < ATTRIBUT < VAL 2 P1 OR P2 : F = F (P1) + F (P2) – F (P1) * F (P2)‏ P1 AND P2 : F = F (P1) * F (P2)‏ NOT P : F = 1 - F (P)‏

CALCUL DU COUT TOTAL D'UNE SELECTION ACCES SUR CLE PRIMAIRE : W ACCES SUR CLE SECONDAIRE VIA UN PREDICAT P : - INDEX CLUSTERISE : F (P) * (NBINDX + TCARD) + W * RSICARD - INDEX NON CLUSTERISE : F (PRED) * (NBINDX + NCARD) + W * RSICARD ACCES SEQUENTIEL (SCAN) : TCARD + W * RSICARD TRI EVENTUEL

EXEMPLE

CALCUL DE RISCARD RSICARD F(P) = (DEGRE > 12) * F (CRU = "MORGON") * F (MILLESIME = 80)‏ F (DEGRE > 12) = ( ) / ( )= 0,6 F (CRU = "MORGON") = 1 / 4 = 0,25 F (MILLESIME = 80) = 1 / 4 = 0,25 F (P) = 0,6 x 0,25 x 0,25 = 0,0375 RSICARD = 0,0375 * 1000 =  37

EVALUATION INDEX DEGRE -> NBCLE = 50 NBINDX = 2 COUT (IND.DEGRE) = F (IND.DEGRE) * ( ) + W * 37 = 0,6 * W * 37 = * W FACTEUR W : W = 0,2 1 E / S  20 ms 1 Appel  4 ms COUT (IND.DEGRE) = 608 INDEX CRU ->NBCLE = 4 NBINDX = 1 COUT (IND.CRU) = F (IND.CRU) * ( ) + W * 37 = 0,25 * * W COUT (IND.CRU) = 257 SCAN :20 + W * 37 = 27 COUT (SCAN) = 27

CONCLUSION LES PROBLEMES A RESOUDRE : 1. TROUVER DES HEURISTIQUES RAISONNABLES PERMETTANT DE DIMINUER LA COMBINATOIRE 2. EVALUER LES COUTS ET CHOISIR LE PLUS FAIBLE; PROBLEME : ESTIMATION DE LA TAILLE 3. PROPAGER LES CLES

CONCLUSION (2)‏ L'APPROCHE COMPILATION * Effet considérable sur les performances. * Evaluation et chemins d'accès pris en compte lors de la compilation. * Si le contexte change : le module compile est invalide et recompilé lors de son appel (exemple : destruction d'un index)‏

CONCLUSION (3)‏ * Transactions prédéfinies : * Modules déjà compiles. * L‘évaluation n'est faite qu'une fois. * Transactions interactives : * On n'exécute qu'une seule fois. * Résultat dépend de la complexité de la question. si la question est complexe on gagne a réaliser la compilation.