I have a bit of an oddity on a site I'm working on
This query takes six seconds to run
SELECT `z_tv_episodes`.*, `title`.*, `z_networks`.*
FROM `z_tv_episodes`, `title`, `z_networks_title`, `z_networks`
WHERE `season_number` = 1
AND `episode_number` = 1
AND `episode_airdate` < "2017-01-19"
AND `z_tv_episodes`.`media_id` = `title`.`media_id`
AND `has_poster` = 1
AND `title`.`media_id` = `z_networks_title`.`media_id`
AND `z_networks_title`.`network_id` = `z_networks`.`network_id`
GROUP BY `z_tv_episodes`.`media_id`
ORDER BY `episode_airdate` DESC
LIMIT 6
I've realised that the GROUP BY is the reason it is so slow. Adding a multi column index to episode_airdate and media_id didn't help. Distinct makes it good but then I don't have the columns I need. Any help would be great.
episode_airdate
< "2017-01-19" matches roughly 300k rows.