Código:
Esta consulta realmente no me muestra los 999 registros de film sino solo 890 tardando 1 seg y 456 miliseg. Para mostrar todos los registros le agregao al join el left quedandome:select film.film_id, film.title, GROUP_CONCAT(distinct category.name SEPARATOR ',') as categoria, GROUP_CONCAT(distinct actor.fullname SEPARATOR ',') as actor from film join film_category on film_category.film_id = film.film_id join category on category.category_id = film_category.category_id join film_actor on film_actor.film_id = film.film_id join actor on actor.actor_id = film_actor.actor_id group by film.film_id
Código:
De esta forma me devuelve los 999 registros pero la consulta tarda 21 seg.select film.film_id, film.title, GROUP_CONCAT(distinct category.name SEPARATOR ',') as categoria, GROUP_CONCAT(distinct actor.fullname SEPARATOR ',') as actor from film left join film_category on film_category.film_id = film.film_id left join category on category.category_id = film_category.category_id left join film_actor on film_actor.film_id = film.film_id left join actor on actor.actor_id = film_actor.actor_id group by film.film_id
Estaba pensando en agregar las tablas adyacentes en la tabla principal, cosa que no me parece buena practica en el diseño de bases de datos y asi la consulta me demora 60 miliseg.
Entonces tengo el dilema de cambiar rendimiento por buenas practicas y quiciera que me recomendaran segun sus espericias que hacer pues varias personas se conectaran a mi bd con conexiones no muy buenas.
Bueno les agradezco de antemano.