Cita:
Iniciado por cnavast
Aún no lo tengo nada claro xD
Es que lo que yo no termino de ver es lo de eficiencia en el lado del servidor... Imaginad que hay, yo qué sé, 10.000 ideas y 1.000 usuarios, y cada usuario ha votado una media de 3 ideas. Esto haría en la base de datos de la opción A tengamos 3.000 entradas. Si ahora un usuario intentara votar una idea, el sistema tendría que revisar esas 3.000 entradas comprobando para cada una que no tiene mismo userID, ideaID...
Deberías mirar cuanto tarda en hacer una consulta de este tipo
SELECT * FROM votos WHERE id_user = '1' AND idea = '1'
Con 3.000 entradas, no creo que mucho, no creo no, es que mucho no es. Mira los foros, ¿cuantas entradas crees que tienen? Y para mostrar un post con algún mensaje, algo muy habitual, tienen que hacer más de una consulta y no es que estés epserando mucho, tarda más en cargar la página que en hacer la consulta.
Ahora imagina que tienes 100 usuarios y 100 ideas y que cada usuario ha votada cada idea, cada usuario tendría que tener en el campo que tú comentas en la opción B, 100 ids. Eso ya no es eficiente! una lista con 100 ids? Y mira que estamos hablando de 100 usuarios y 100 ideas no de 1.000 como comentabas tú.