diff --git a/src/sql/hydra.sql b/src/sql/hydra.sql index a73da0fb..c664d854 100644 --- a/src/sql/hydra.sql +++ b/src/sql/hydra.sql @@ -612,6 +612,9 @@ create index IndexBuildsOnFinished on Builds(finished) where finished = 0; create index IndexBuildsOnIsCurrent on Builds(isCurrent) where isCurrent = 1; create index IndexBuildsOnJobsetIsCurrent on Builds(project, jobset, isCurrent) where isCurrent = 1; create index IndexBuildsOnJobIsCurrent on Builds(project, jobset, job, isCurrent) where isCurrent = 1; +create index IndexBuildsJobsetIdCurrentUnfinished on Builds(jobset_id) where isCurrent = 1 and finished = 0; +create index IndexBuildsJobsetIdCurrentFinishedStatus on Builds(jobset_id, buildstatus) where isCurrent = 1 and finished = 1; +create index IndexBuildsJobsetIdCurrent on Builds(jobset_id) where isCurrent = 1; create index IndexBuildsOnJobset on Builds(project, jobset); create index IndexBuildsOnProject on Builds(project); create index IndexBuildsOnTimestamp on Builds(timestamp); diff --git a/src/sql/upgrade-75.sql b/src/sql/upgrade-75.sql new file mode 100644 index 00000000..ba0e7dbd --- /dev/null +++ b/src/sql/upgrade-75.sql @@ -0,0 +1,5 @@ +-- These take about 9 minutes in total on a replica of hydra.nixos.org + +create index IndexBuildsJobsetIdCurrentUnfinished on Builds(jobset_id) where isCurrent = 1 and finished = 0; +create index IndexBuildsJobsetIdCurrentFinishedStatus on Builds(jobset_id, buildstatus) where isCurrent = 1 and finished = 1; +create index IndexBuildsJobsetIdCurrent on Builds(jobset_id) where isCurrent = 1;