|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Membre confirmé
![]() Inscription : avril 2002 Messages : 327 ![]() |
Bonjour a tous,
Je possède deux Tables Une table maître Des Ventes Structure de la Table Maitre Code :
Structure de la Table Detail Code :
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 Code :
Plan Citation:
Statistique Citation:
|
||||||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
As-tu un index sur DateBon ?
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
00
|
|
|
#3 | |
|
Membre confirmé
![]() Inscription : avril 2002 Messages : 327 ![]() |
Bonjour,
et merci pour votre reponse, Oui il y a un index sur la dateBon, et c'est bien préciser dans le plan utiliser par Interbase Citation:
|
|
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Serge LESPAGNARDConsultant informatique Inscription : janvier 2004 Messages : 587 ![]() |
Salut,
Au lieu de faire ta jointure dans ta clause WHERE, essaie en faisant : Code :
... FROM Detail D1 JOIN Maitre D ON D1.NumeroBon = D.NumeroBon... @+ |
|
|
00
|
|
|
#5 | ||
|
Membre éprouvé
![]() Inscription : juillet 2002 Messages : 432 ![]() |
je de l'avis de SLE essais plutot la requete :
Code :
__________________
<On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré** http://www.mobile-tactile.com/ |
||
|
|
00
|
|
|
#6 | ||||
|
Membre confirmé
![]() Inscription : avril 2002 Messages : 327 ![]() |
Bonjour,
j'ai essayé l'avis de SLE : Code :
00:02:17, meme j'ai essayé avec cette requete : Code :
Merci pour vos reponses. |
||||
|
|
00
|
|
|
#7 | ||
|
Membre chevronné
![]() Serge LESPAGNARDConsultant informatique Inscription : janvier 2004 Messages : 587 ![]() |
Et en faisant ceci, qu'est-ce que ça donne comme temps d'execution ?
Code :
|
||
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() Inscription : avril 2003 Messages : 123 ![]() |
Au regard de ton plan d'exécution de la requête (créer automatiquement par IB), lB n'utilise pas comme premier critère un index. Contourne le problème toi-même en créant le PLAN. Il suffit d'ajouter PLAN (...) à la fin de la requête où tu commences ton plan par tes index primaires.
Il faut savoir que IB est très performant sur les insert et les update, mais qu'en select il lui arrive de se planter complètement.
__________________
Température de l'eau : 28 ° Température extérieure : 32° Température au fond du verre : 50° ~ 55° ------ Mangez des bananes ---------- |
|
|
00
|
|
|
#9 | ||||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Bonjour,
Je viens de faire les tests en créant ces deux tables et en les remplissants avec le meme volume de donnée. Et votre requete ne prend que 64ms. Ce qui est étonnant dans votre résultat et c'est ce qui met ennormément de temps : c'est D1 NATURAL celà veut tout simplement dire qu'il n'utilise pas la clé primaire ni d'index pour la table Detail. Ce qui est tres ennuyeux. Car pour chaque enregistrement maitre il va scruter toute votre table detail pour trouver ceux qui correspondent... Verifiez que vous avez bien un index ou clé primaire sur le champ numerobon de votre table detail. (Si c'est le cas supprimez l index en question et recréez le.) Code :
Code :
Code :
PLAN JOIN (D INDEX (MAITRE_IDX1),D1 INDEX (PK_DETAIL)) |
||||
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Inscription : avril 2002 Messages : 327 ![]() |
Bonjour,
Merci Barbibulle , et je vais tester cela ce soir. |
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() Inscription : avril 2002 Messages : 327 ![]() |
Bonjour,
j'ai suivie les etapes du Barbibulle , et ça marche tres bien. Merci a tous. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com