Bonjour a tous,
Je possède deux Tables
Une table maître Des Ventes
Structure de la Table Maitre
Et la table détail des ventes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 NumeroBon Integer Primary Key DateBon Date Code_Client Varchar(6)
Structure de la Table Detail
Nombre d'enregistrement de la Table Maitre : 12308
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 NumeroBon Integer Code_Produit Varchar(10) Qte_Vendu Numeric(15,2) Pu_Vente Numeric(15,2) Benifice Numeric(15,2) La clé primaire est (NumeroBon + CodeProduit)
Nombre d'enregistrement de la Table Detail : 91122
J'ai Bien Ajouter un index secondaire a ma Table Detail sur le champ Benifice
Mon but est d’avoir le benifice total dans la période allant du 01/01/2000 et 01/01/2006
L'exécution de la requête est Très Long et voici les Détails afficher dans ma Console
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT Sum(d1.Benifice) FROM Detail D1 , Maitre d WHERE (D1.NumeroBon = D.NumeroBon) and (D.DateBon Between '01/01/2000' and '01/01/2006')
Plan
Statement: SELECT Sum(d1.Benifice)
FROM Detail D1 , Maitre d
WHERE
(D1.NumeroBon = D.NumeroBon)
and (D.DateBon Between '01/01/2000' and '01/01/2006')
PLAN JOIN (D1 NATURAL,D INDEX (RDB$PRIMARY17,LADATEBON))
Statistique
J'utilise Interbase 7.5 sous Windows XP.Exécution 00:02:19.0109
Partager