Bonjour,

Sur une table avec 20 000 lignes, je dois faire une requête (voir plusieurs requête) qui compte le nombre de dossier qui ont le même id_pa, qui ont la même localité, qui ont l'état_pa = 'Déployé' et enfin où le nombre de dossier qui ont le même id_pa < 4

Donc pour cela, j'ai fait une requête qui fonctionne mais qui est très longue à s'éxécuter (43s)

SELECT COUNT(t1.dossier) AS countpa
FROM ftth_optimum AS t1
WHERE t1.id_pa <> '' AND t1.localite = 'Laxou' AND t1.etat_de_pa = 'Déployé' 
AND (SELECT COUNT(t2.dossier) FROM ftth_optimum AS t2 WHERE t1.id_pa = t2.id_pa)< 4

Pouvez vous me dire comment optimiser cette requête ? Car je vais avoir un gros problème, étant donnée que je dois compter sur plusieurs localités, ma page risque d'être très lourde. En effet, je dois afficher des compteurs pour 5 localités

2 réponses


Essayes ceci

SELECT COUNT(t1.dossier) AS countpa
FROM ftth_optimum AS t1
WHERE t1.id_pa <> '' AND t1.localite = 'Laxou' AND t1.etat_de_pa = 'Déployé' 
HAVING countpa < 4
cid5420
Auteur

Bonjour,
Cette reqête ne fonctionne pas !
J'ai résolu mon problème en contournant un peut via php.