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 and (archive.private=FALSE or TeamParticipation.person is not NULL))) ON PackageBuild.archive = Archive.id WHERE BuildFarmJob.builder = 3 ORDER BY BuildFarmJob.date_finished DESC, BuildFarmJob.id LIMIT 51 OFFSET 0;
is slightly faster still, but still not brilliant. (1400ms vs 1800ms on staging)
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 ion.person = 2 AND TeamParticipati on.team = Archive.owner and (archive. private= FALSE or TeamParticipati on.person is not NULL))) ON PackageBuild. archive = Archive.id WHERE BuildFarmJob. builder = 3 ORDER BY BuildFarmJob. date_finished DESC, BuildFarmJob.id LIMIT 51 OFFSET 0;
LEFT JOIN (Archive LEFT JOIN TeamParticipation ON (TeamParticipat
is slightly faster still, but still not brilliant. (1400ms vs 1800ms on staging)