j'ai quelque soussie pour l'optimisation de ma requete. j'ai reussi à optimiser la requette que voici:
SELECT TOP 1 ID_Pdp
FROM X,Y,Z
WHERE Z.ID_Fam = Y.IDCla_Prd
AND Y.ID_Prd = X.IDPrd_Pdp
AND Y.ParFam_Prd = 1
AND Z.Abr_Fam = 'EC'
en
SELECT TOP 1 ID_Pdp
FROM X,Y
WHERE Y.ID_Prd = X.IDPrd_Pdp
AND Y.ParFam_Prd = 1
and Y.IDCla_Prd = (select ID_Fam from Z where Abr_Fam = 'EC')
cette transformation m'a permis de gagner 12 secondes.
de manière analogue, je cherche à appliquer la meme technique sur les autres requetes.
voici l'un d'eux
Select ID_Pdp,IDAcp_Pdp,Des_Act,IDPrd_Pdp,Ref_Hca,Des_Hca,Qte_Pdp,PrxAch_Pdp
,ModifPrx_Prd,PMP_Prd --(index=PK_ProdPose)(index=popo)
FROM ProdPose(index=popo), ActPrdt, PrdHca,Produit
WHERE ID_Act=IDAcp_Pdp AND ID_Hca=IDPrd_Pdp AND IDPrd_Hca=ID_Prd
AND IDInt_Pdp='00450796'
ORDER BY ID_Pdp
en
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
Select ID_Pdp,IDAcp_Pdp,Des_Act,IDPrd_Pdp,Qte_Pdp,PrxAch_Pdp ,ModifPrx_Prd,PMP_Prd --Ref_Hca,Des_Hca,
FROM ProdPose, ActPrdt --,PrdHca,Produit
WHERE ID_Act=IDAcp_Pdp
AND IDPrd_Pdp in (select ID_Hca
from PrdHca,Produit
where IDPrd_Hca=ID_Prd )
AND IDInt_Pdp='00000045'
ORDER BY ID_Pdp
la transformation me renvoie des erreurs
pourvez vous me dire comment je peu faire pour obtenir un resultat comparable au premier cas.
merci d'avance.
Partager