RE:Cuál es el mejor rendimiento
En primer lugar, el modelo de desarrollo de la web hace que las query se ejecuten en realidad en el servidor de las bases de datos y no en las PC de los usuarios (programación en tres capas, le dicen), por lo que en realidad el problema no es la ejecución via web, sino el volumen del resultado obtenido, que sí afecta el tráfico de la red.
Esto hace que debas tomar en cuenta dos cosas:
1. El protocolo que estás usando de comunicación (TCP/IP).
2. La composición de los registros de las tablas en cuestión.
El protocolo de internet tiene como límite de paquete 1.500 bytes de datos por cada ráfaga de transmisión, por lo que en realidad debes tratar de calcular la menor cantidad de bytes transferidos si quieres que la cosa funcione rápido. Cuando el bloque de datos supera esa cantidad, se realiza fragmentando el paquete en varios datagramas, que pueden tener delays distintos para su llegada.
La composición de la tabla afecta las consultas simplemente porque algunas de ellas llevan demasiado tiempo por estar mal diseñadas.
Reglas básicas de optimización de consultas puedes buscar en la red. Hay bastante. Pero en principio, si haces una sola tabla muy larga, con demasiados campos, puedes estar sobrecargando al server de MySQL con datos que en realidad no vas a necesitar (Una regla de optimización dice: "¿Realmente es necesario hacer un SELECT *FROM TABLA? ¿Va a usar TODOS esos datos?"). Es mejor un modelo de datos normalizado que uno toscamente diseñado. Siempre.