Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/10/2015, 05:40
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: duda con PHP y SQL

Si tu pregunta, es si hacer 100 consultas en lugar de una sola y obtener registros, afecta la performance, la respuesta es SI.
Nadie hace cien consultas para obtener un único registro, si puede obtener los 100 de una sola vez, no es sensato, consume recursos de red, genera tráfico innecesario, consume la cuota del buffer de consultas, y genera demasiado overhead en el sistema por exceso de cambio de contexto.
Eso que te parece "lo más lógico" es algo totalmente ineficiente.
Pro lo pronto, lo que dices necesitar es:
Cita:
quiero contar cuantos seguidores tiene varios usuarios que cumplen una condicion especifica, saco los ID
Lo que haces es sencillamente dos consultas:
Código SQL:
Ver original
  1. SELECT COUNT(*) seguidores
  2. FROM miembros_amigos
  3. WHERE id_miembro IN(/* aqui va  la lista de IDs de miembros, separada por comas*/)
  4.    AND /* aqui va el resto de las condiciones */;
y por otro lado:
Código SQL:
Ver original
  1. SELECT id_seguidores
  2. FROM miembros_amigos
  3. WHERE id_miembro IN(/* aqui va  la lista de IDs de miembros, separada por comas*/)
  4. ORDER BY id_miembro /* para que salgan en orden de seguidos y puedas procesarlos en PHP */;
El como lo proceses luego en PHP lo deberás consultar en el foro de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)