J'ai une requête qui croise deux tables mais qui, maintenant qu'il y a un certain nombre d'enregistrement, est longue a s'exécuter (37 secondes).
Les deux tables sont :
- famille : 1689 enregistrements
- personne : 1714 enregistrements
Voila la requête :
Elle sélectionne toutes les familles et y affecte son chef (P.IdStatut = 1) s'il y en a un.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT F.Id, IFNULL(CONCAT(P.Nom, ' ', IFNULL(P.Prenom, '')), CONCAT(' Pas de chef : ', F.Id)) AS NomFamille FROM famille AS F LEFT JOIN personne AS P ON P.IdFamille = F.Id AND P.IdStatut = 1 GROUP BY F.Id ORDER BY NomFamille
Je trouve que 37 secondes pour exécuter ça est pas normal.
Que pourrais-je changer pour diminuer le temps d'exécution ?
Partager