Speed up a query for derivation builds
This change removes a sequential scan from the query plan, making it much faster.
This commit is contained in:
parent
6e0e33addf
commit
af40c1ac13
2 changed files with 13 additions and 14 deletions
|
|
@ -205,27 +205,24 @@ ORDER BY latest_build_status.timestamp DESC NULLS LAST, derivations.file_name
|
|||
conn derivation-file-name)
|
||||
(define query
|
||||
"
|
||||
SELECT build_servers.id,
|
||||
SELECT DISTINCT ON (builds.id)
|
||||
builds.id,
|
||||
build_servers.id,
|
||||
build_servers.url,
|
||||
builds.build_server_build_id,
|
||||
latest_build_status.timestamp,
|
||||
latest_build_status.status
|
||||
build_status.timestamp,
|
||||
build_status.status
|
||||
FROM builds
|
||||
INNER JOIN build_servers ON build_servers.id = builds.build_server_id
|
||||
INNER JOIN
|
||||
(
|
||||
SELECT DISTINCT ON (build_id) *
|
||||
FROM build_status
|
||||
ORDER BY build_id, id DESC
|
||||
) AS latest_build_status
|
||||
ON latest_build_status.build_id = builds.id
|
||||
INNER JOIN build_status
|
||||
ON build_status.build_id = builds.id
|
||||
INNER JOIN derivations_by_output_details_set
|
||||
ON builds.derivation_output_details_set_id =
|
||||
derivations_by_output_details_set.derivation_output_details_set_id
|
||||
INNER JOIN derivations
|
||||
ON derivations.id = derivations_by_output_details_set.derivation_id
|
||||
WHERE derivations.file_name = $1
|
||||
ORDER BY latest_build_status.timestamp DESC")
|
||||
ORDER BY builds.id, build_status.timestamp DESC")
|
||||
|
||||
(exec-query conn query (list derivation-file-name)))
|
||||
|
||||
|
|
|
|||
|
|
@ -658,9 +658,11 @@ time."
|
|||
,(build-status-span "")))
|
||||
(map
|
||||
(match-lambda
|
||||
((build-server-id build-server-url
|
||||
build-server-build-id
|
||||
timestamp status)
|
||||
((build-id build-server-id
|
||||
build-server-url
|
||||
build-server-build-id
|
||||
timestamp
|
||||
status)
|
||||
`(div
|
||||
(@ (class "text-center"))
|
||||
(div
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue