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.