Ce qui signifie déjà que tu n'as pas besoin de récupérer fights.*.
Ca devrait déjà améliorer les choses.
Ensuite, pourquoi faire un SELECT sur une seule table dans tes deux premières jointures externes alors que des jointures directement sur la table te donnerait le même résultat ?
On arrive déjà à la simplification :
Code:
1 2 3 4 5 6 7
| "SELECT p1.name AS att, p2.name AS def, p1.idpet AS attPic, p2.idpet AS defPic
FROM fights
LEFT JOIN pets AS p1 ON fights.id_off = p1.id
LEFT JOIN pets AS p2 ON fights.id_def = p2.id
LEFT JOIN pets ON fights.id_off=pets.id
WHERE fights.etat = 0 AND pets.owner = ".$id."
ORDER BY time DESC LIMIT ".$page.", ".$limit; |
Puisque la restriction AND pets.owner = ".$id." s'applique sur la troisième jointure, est-ce qu'un INNER JOIN pets ne serait pas mieux ?