[MySQL v4.1.9] Lenteur d'une requête SQL
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| SELECT DISTINCT bilans.id_bilan, personnes.id_personne, MAX(rendez_vous.fin_rendez_vous),
nom_personne, nom_prescripteur, interrompu_bilan, raison_interruption_bilan
FROM personnes, bilans, commandes, conventions, prescripteurs, rendez_vous
WHERE personnes.id_personne=bilans.id_personne
AND ((commandes.id_commande=bilans.id_commande AND commandes.id_prescripteur=prescripteurs.id_prescripteur)
OR (conventions.id_convention=bilans.id_convention AND conventions.id_prescripteur=prescripteurs.id_prescripteur
AND conventions.facture_convention='oui'))
AND (bilans.interrompu_bilan='oui' OR bilans.termine_bilan='oui')
AND bilans.facture_bilan <>'oui'
AND rendez_vous.id_bilan=bilans.id_bilan
GROUP BY bilans.id_bilan ORDER BY rendez_vous.fin_rendez_vous, nom_prescripteur, nom_personne |
Ca, c'est le code de la requête. Vous allez me dire, c'est normal que ce soit lent, y'a plein de choses dans les tables, je vais chercher dans 6 tables différentes, j'ai des jointures partout... etc. Je sais déjà, merci :D
Mais... la requête, là, me donne le bon résultat. Et je vois pas comment l'écrire autrement. (ça commence un peu à m'agacer, d'ailleurs... méchamment, même.)
Une idée ? (j'en ai plein du même genre, alors merci de m'expliquer comme si j'étais un bon gros benêt :D)