From 027668f0dbf37ad07b9e28152fbfac092d4540d0 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Tue, 11 Feb 2020 12:52:28 -0500 Subject: [PATCH] hydra.sql: add an index for slow queries in production These queries used to use (jobset, project) based indexes, and the addition of jobset_id makes most of those indexes unusable now. --- src/sql/hydra.sql | 1 + src/sql/upgrade-65.sql | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 src/sql/upgrade-65.sql diff --git a/src/sql/hydra.sql b/src/sql/hydra.sql index 1f4288f7..8144dd30 100644 --- a/src/sql/hydra.sql +++ b/src/sql/hydra.sql @@ -682,6 +682,7 @@ 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 IndexBuildsOnDrvPath on Builds(drvPath); create index IndexCachedHgInputsOnHash on CachedHgInputs(uri, branch, sha256hash); diff --git a/src/sql/upgrade-65.sql b/src/sql/upgrade-65.sql new file mode 100644 index 00000000..11d143e5 --- /dev/null +++ b/src/sql/upgrade-65.sql @@ -0,0 +1,2 @@ +-- Add an index like IndexBuildsOnJobFinishedId using jobset_id +create index IndexBuildsOnJobsetIdFinishedId on Builds(id DESC, finished, job, jobset_id);