Lo que estás haciendo se llama optimización prematura. Este es un error común.
Es mejor que la estructura de su base de datos se acerque lo más posible a la realidad y, en el futuro, si surge la necesidad de optimización o mejora de la velocidad, siempre podrá hacerlo.
Por experiencia y mirando su ejemplo, la solución de una sola tabla se ve bien.