Bonjour,
J'ai une requête qui s'exécute en beaucoup trop de temps:
J'ai une table "contacts" qui se présente comme ceci:
cid | uid1 | uid2
1 | 1 | 2
2 | 2 | 1
3 | 3 | 1
4 | 1 | 3
uid1 et uid2 sont les uid des utilisateurs.
Dans la liste des contacts de 1 il y a 2 et 3
Dans la liste des contacts de 3 il y a 1
Dans la liste des contacts de 2 il y a 1
etc..
Avec ma requête je voudrais avoir "Les contacts de mes conacts"
Pour cela je lance cette requête (dans ce cas je suis l'uid 1):
Seulement la requête met 4s en local et 1,5 seconde sur le serveur de production... Et la table est très petite (1500 entrées)...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT DISTINCT(uid2) FROM friends WHERE uid1 IN( SELECT uid2 FROM friends WHERE uid1='1' ) AND uid2!='1' ORDER BY uid2 DESC
Comment pourrais-je optimiser cette requête?
Merci par avance de vos réponses
Partager