Bonjour,

Dans le but d'afficher un dashbord de pie-chart, je dois executer une dizaine de fois la requête suivante, avec à chaque fois un $dataField différent mais un même $where :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
SELECT *  FROM (
	SELECT  ".$dataField." as IDDATA, sum(prix) as prix, sum(nb) as nb 
		FROM ACTIVITEALL 
			WHERE ".$where." 
		GROUP BY ".$dataField." 
		ORDER BY prix DESC 
) WHERE ROWNUM < 10
Le tous peut durée jusqu'à 5min...
Le fait de le faire en une seul requête avec des UNION ALL ne semble pas beaucoup changer les performances...

Comment puis-je optimiser mon SQL ?

Merci !
Stéphane