Cita: No sé si en realidad se ahorra algo ¿se ahorra algo con eso? o es igual de una u otra forma
En realidad no se ahorra mucho, si es que algunos milisegundos más o menos resultan trascendentes. La operación de hacer los promedios como se planteó es demasiado rápida en el servidor como para darle mucha importancia. Además, tienes más delay en el enlace de internet de lo que la base tarda en resolver consultas tan simples....
Mayd:
Cita: - ya votaste
- gracias por votar
- hubo un problema. Intentalo de nuevo.
Estos son problemas de orden procedimiental. No interviene mucho la base de datos, porque casi todo son obtenidos por el PHP.
La primera requiere una lectura o cuenta de los registros de eses usuario vinculaos con el tema o la foto, puedes hacer un
Si la lectura devuelve al menos un registro, ya votó.
El "gracias por votar" y "Hubo un problema" son simplemente las respuestas al usuario cuando una inserción es exitosa o no. Eso lo puedes resolver perfectamente con el PHP.
No te olvides que siembre que uan consulta es ejecutada desde un lenguaje, MySQL responde con un valor numérico que expresa la cantidad de registros afectados. Cada lenguaje tiene a su vez funciones que traducen la respuesta para poder usarla.
Aprovecha esas funciones.