From 87317812a82ebc0ad9f3891533c7ff017a5a85de Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 28 Oct 2020 14:18:20 +0100 Subject: [PATCH] Fix some broken indices These indices basically did nothing since they put "id" first. In particular this makes /job/.../all much faster. --- src/sql/hydra.sql | 4 ++-- src/sql/upgrade-68.sql | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 src/sql/upgrade-68.sql diff --git a/src/sql/hydra.sql b/src/sql/hydra.sql index 88c4c330..67843a90 100644 --- a/src/sql/hydra.sql +++ b/src/sql/hydra.sql @@ -601,8 +601,8 @@ create index IndexBuildsOnProject on Builds(project); create index IndexBuildsOnTimestamp on Builds(timestamp); create index IndexBuildsOnFinishedStopTime on Builds(finished, stoptime DESC); create index IndexBuildsOnJobFinishedId on builds(project, jobset, job, system, finished, id DESC); -create index IndexBuildsOnJobsetIdFinishedId on Builds(id DESC, finished, job, jobset_id); -create index IndexFinishedSuccessfulBuilds on Builds(id DESC, buildstatus, finished, job, jobset_id) where buildstatus = 0 and finished = 1; +create index IndexBuildsOnJobsetIdFinishedId on Builds(jobset_id, job, finished, id DESC); +create index IndexFinishedSuccessfulBuilds on Builds(jobset_id, job, finished, buildstatus, id DESC) where buildstatus = 0 and finished = 1; create index IndexBuildsOnDrvPath on Builds(drvPath); create index IndexCachedHgInputsOnHash on CachedHgInputs(uri, branch, sha256hash); create index IndexCachedGitInputsOnHash on CachedGitInputs(uri, branch, sha256hash); diff --git a/src/sql/upgrade-68.sql b/src/sql/upgrade-68.sql new file mode 100644 index 00000000..bcfd7aba --- /dev/null +++ b/src/sql/upgrade-68.sql @@ -0,0 +1,5 @@ +drop index IndexBuildsOnJobsetIdFinishedId; +create index IndexBuildsOnJobsetIdFinishedId on Builds(jobset_id, job, finished, id DESC); + +drop index IndexFinishedSuccessfulBuilds; +create index IndexFinishedSuccessfulBuilds on Builds(jobset_id, job, finished, buildstatus, id DESC) where buildstatus = 0 and finished = 1;