Salut,
J'ai un petit souci avec une de mes requetes qui est un peu longues à s'executer.
Bon alors vla la requete en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 SELECT P.`idproduit`, CASE WHEN P_desc.`pourcentage` = - 1 AND P_desc.`prix_barre` = - 1 THEN P_desc.`prix_ht` ELSE CASE WHEN P_desc.`pourcentage` != - 1 THEN P_desc.`prix_ht` - ( (P_desc.`pourcentage` * P_desc.`prix_ht` ) / 100 ) ELSE P_desc.`prix_barre` END END AS `test` , P_desc.`prix_barre` , P_desc.`prix_ht` FROM `produit` P, `produit_famille` P_f , `produit_description` P_desc , `marque` M WHERE P_desc.`produit_idproduit` = P.`idproduit` AND P_f.`idproduit` = P_desc.`produit_idproduit` AND P_f.`idproduit` = P.`idproduit` AND P_f.`idfamille` = '29' AND M.`idmarque` = P_desc.`idmarque` AND P.`idproduit` = ( SELECT CASE WHEN SUM( S.`nbr_produit` ) >0 THEN S.`idproduit` END AS `idproduitstock` FROM `stock` S, `boutique` B WHERE S.`idboutique` = B.`idboutique` AND B.`internet` = 'true' AND S.`idproduit` = P.`idproduit` ) GROUP BY P_desc.`couleur` , P.`idgroupe` ORDER BY P_desc.`titre` ASC
Après quelques essais ect j'en ai déduit que ma requete ralentissez à cause de cette contrainte :
Donc en faites j'aimerais le remplacer par quelque chose de plus performatn... Mais je ne sais pas quoi..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 AND P.`idproduit` = ( SELECT CASE WHEN SUM( S.`nbr_produit` ) >0 THEN S.`idproduit` END AS `idproduitstock` FROM `stock` S, `boutique` B WHERE S.`idboutique` = B.`idboutique` AND B.`internet` = 'true' AND S.`idproduit` = P.`idproduit` )
Merci par avance
Partager