gain d'efficacité en utilisant un index
bonjour,
j'ai le shéma relationnel suivant:
Code:
1 2 3 4 5 6
|
Client (nom, age, genre, nc)
// le genre vaut M ou F, nc est le n° de client
Commande (nc, produit, date, lieu, montant)
Télévente (nc, vendeur, date, résultat)
// démarchage par téléphone |
La taille des données de chaque relation en nombre de blocs disque.
Client : 100 000 blocs
Commande : 2 000 000 blocs
Télévente : 300 000 blocs
On observe la charge suivante sur la base de données, nommée charge1 :
10% des requêtes sélectionnent une valeur de Cient.nc (i.e., de l’attribut nc de Cient)
30% ‘‘ ‘‘ ‘‘ Client.nom
35% ‘‘ ‘‘ ‘‘ Commande.produit
10% ‘‘ ‘‘ ‘‘ Télévente.vendeur
15% ‘‘ ‘‘ ‘‘ Télévente.date
Toutes les requêtes sont de type ciblé ou multi-point. On suppose que l’usage d’un index réduit le nombre de blocs à lire par rapport à une lecture séquentielle.
On suppose que l’espace disque disponible permet de créer seulement deux index.
Le problème est d'indiquer les 2 index qui permettent d'apporter un gain d’efficacité maximal et puis de quantifier ce gain.
est ce que dans ce cas l'usage d'un index de hachage sur l'attribut produit et d'un autre index B+tree sur l'attribut nc de la relation client permettent de procurer un gain d'efficacité maximale?
est ce qu'il existe déja une formule pour calculer le gain d'efficacité d'utilisation d'un index.
gain d'efficacité en utilisant un index
c'est bien nombre de blocs disque.
En fait c'est un problème théorique , j'ai pas cré réellement les tables.
je dispose pas d'information sur le nombre de blocs inutilisés.