Cita: ¿No se obtendría mayor rendimiento con una tabla por usuario?
En realidad no. Las complicaciones de usar tablas por usuarios impactarían directamente en la aplicación, además de hacer imposible usar integridad referencial en ciertas tablas críticas, como las de mensajería, porque no puedes definir una FK que apunte a dos o más tablas diferentes.
Si implementases una tabla por usuario, el resto de la integridad referencial y la consistencia la deberás administrar por medio de programación, con lo que deberías aumentar la cantidad de consultas, verificaciones y posiblemente actualizaciones.
Pero lo central es que esto:
Cita: el hecho de que en muy breve espacio de tiempo, varios usuarios quieran crear un nuevo registro, otros usuarios borren varias imágenes (y sus registros dentro de la BBDD) y muchos consulten la BBDD.
Hace años que se solucionó: Eso se realiza con lo que se deominan
transacciones o TRANSACTION, que permiten controlar estas cosas.