Cita:
Iniciado por gnzsoloyo
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:
Lo que haces es sencillamente dos consultas:
Código SQL:
Ver originalSELECT COUNT(*) seguidores
FROM miembros_amigos
WHERE id_miembro IN(/* aqui va la lista de IDs de miembros, separada por comas*/)
AND /* aqui va el resto de las condiciones */;
y por otro lado:
Código SQL:
Ver originalSELECT id_seguidores
FROM miembros_amigos
WHERE id_miembro IN(/* aqui va la lista de IDs de miembros, separada por comas*/)
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.
Hola, gracias por responder, era justo lo que buscaba, en una consulta poder contar los registros (seguidores) que pertenecen a un ID, sin embargo el codigo que me escribiste cuenta el total, y necesito algo como por ejemplo, el ID 4 tiene 20 registros, el ID 8 tiene 5 registros, no que me dea 25.
Código SQL:
Ver originalSELECT COUNT(*) seguidores
FROM miembros_amigos
WHERE id_miembro IN(4,8)
Gracias un saludo
[EDITO]
lo solucione de la siguiente manera:
Código SQL:
Ver originalSELECT COUNT(*) `contador`,`seguidores` FROM `miembros_amigos` GROUP BY `seguidores`
¿Sería una solucion correcta?
Saludos