Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/08/2010, 04:52
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Optimizar una cosulta para saber los Amigos en Comun

Debes tener indexados los campos AMIGO1_ID y AMIG02_ID, es decir,haber creado un índice INDEX de cada uno de esos campos.

Código MySQL:
Ver original
  1. SELECT AMIGO1_ID FROM amigos WHERE (AMIGO2_ID = 2 AND STATUS=1)
  2.  INNER JOIN (SELECT AMIGO1_ID
  3.  FROM amigos WHERE (AMIGO2_ID = 1 AND STATUS=1))t1
  4.  ON amigos.AMIGO1_ID = t1.AMIGO1_ID
Esto te devolverá, creo, los números de ID de los amigos coincidentes aceptados por el AMIGO2_ID = 2 y por el AMIGO2_ID = 1. Los nombres propios hay que sacarlos mediante otro INNER JOIN, pero en este caso con la tabla donde tienes los datos de las personas. Para eso deberías decirnos la estructura de la tabla que tiene los nombres con sus campos.

Última edición por jurena; 02/08/2010 a las 03:48