Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/09/2011, 07:45
carlosdanielmou
 
Fecha de Ingreso: marzo-2008
Mensajes: 99
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: query para buscar varios tags de usuario

Hola Leo, gracias por la ayuda, eso era justo lo que estaba buscando. Muy bien explicado.

Yo estuve buscando un poco por G! y había encntrado esta otra query que no la entiendo del todo pero decian que era la mejor forma por performance ya que hacer having tarda un poco más.
Código SQL:
Ver original
  1. SELECT *
  2.             FROM tags t1 CROSS JOIN tags t2 CROSS JOIN tags t3
  3.             INNER JOIN tags_usuario tu1
  4.             ON t1.id = tu1.tags_id
  5.             INNER JOIN tags_usuario tu2
  6.             ON tu1.usuario_id = tu2.usuario_id
  7.             AND tu2.tags_id = t2.id
  8.             INNER JOIN tags_usuario tu3
  9.             ON tu2.usuario_id = tu3.usuario_id
  10.             AND tu3.tags_id = t3.id
  11.             INNER JOIN usuario u ON u.id = tu3.usuario_id
  12.             WHERE t1.id = $idTag1
  13.             AND t2.id = $idTag2
  14.             AND t3.id = $idTag3;

La base de datos va a tener aproximadamente 2 millones de usuarios y 300.000 tags y por cada usuario unos 10-15 tags por lo que la performance me importa bastante. Pero también me importa entender lo que hago así que voy a ver cual de las dos opciones uso.

Saludos y Gracias....