Optimisation requete transactionnelle
Master 2- MIAGE
SGBD
Optimisation de requêtes
Supposons que nous ayons deux relations R et S triée chacune sur l'attribut de jointure permettant de les relier. Les informations dont nous disposons sont les suivantes:
NbTuples(R) = 5000
BFactor(R) = 50
NbTuples(S) = 100000
BFactor(S) = 100
La mémoire peut contenir 50 pages.
Nous souhaitons réaliser la jointure de R et S.
Quels sont les algorithmes de jointures applicables ?
Quel est le coût de chaque algorithme ?
Optimisation de requêtes
Soit la base de données ci-dessous,
A (a, b , c, d)
B( M, N, O, P) avec :
|a = 32 octets |M = 92 octets |
|b= 50 octets |N = 66 octets |
|c= 18 octets |O = 42 octets |
|d= 100 octets |P = 200 octets |
La mémoire peut contenir 10 pages.
Une adresse de page est stockée sur 8 octets.
Les pages de la base ont 4.000 octets.
La relation A est organisée en arbre B+ sur l’attribut a, clé de la relation.
La relation B est organisée en arbre B+ sur l’attribut M clé de la relation.
Un index secondaire organisé en utilisant une fonction d’hachage, sans page d’overflow, est associé à l’attribut O de la relation B. Les pages de données de cet index sont composées de couples (O, adresse).
Complétez les statistiques contenues dans le catalogue pour les relations A et B, ci-dessous :
|NTuples(A) = 4.000.000 |NTuples(B) = 8.000.000 |
|BFactor(A) = 20 |BFactor(B) = 10 |
|NBlocks(A) = 200.000 |NBlocks(B) = 800.000 |
|NDistinctb(A) = 1.000 |NDistinctM(B) = 8.000.000