SELECT DISTINCT BuildFarmJob.builder, BuildFarmJob.date_created, BuildFarmJob.date_finished, BuildFarmJob.date_first_dispatched, BuildFarmJob.date_started, BuildFarmJob.id, BuildFarmJob.job_type, BuildFarmJob.log, BuildFarmJob.processor, BuildFarmJob.status, BuildFarmJob.virtualized FROM BuildFarmJob LEFT JOIN PackageBuild ON PackageBuild.build_farm_job = BuildFarmJob.id LEFT JOIN (Archive LEFT JOIN TeamParticipation ON (TeamParticipation.person = 2 AND TeamParticipation.team = Archive.owner)) ON (PackageBuild.archive = Archive.id AND (Archive.private = FALSE OR TeamParticipation.person = 2)) WHERE BuildFarmJob.builder = 3 ORDER BY BuildFarmJob.date_finished DESC, BuildFarmJob.id LIMIT 51 OFFSET 0;
This is a candidate rearrangement:
SELECT DISTINCT BuildFarmJob. builder, BuildFarmJob. date_created, BuildFarmJob. date_finished, BuildFarmJob. date_first_ dispatched, BuildFarmJob. date_started, BuildFarmJob.id, BuildFarmJob. job_type, BuildFarmJob.log, BuildFarmJob. processor, BuildFarmJob. status, BuildFarmJob. virtualized FROM BuildFarmJob LEFT JOIN PackageBuild ON PackageBuild. build_farm_ job = BuildFarmJob.id LEFT JOIN (Archive LEFT JOIN TeamParticipation ON (TeamParticipat ion.person = 2 AND TeamParticipati on.team = Archive.owner)) ON (PackageBuild. archive = Archive.id AND (Archive.private = FALSE OR TeamParticipati on.person = 2)) WHERE BuildFarmJob. builder = 3 ORDER BY BuildFarmJob. date_finished DESC, BuildFarmJob.id LIMIT 51 OFFSET 0;