chainloop icon indicating copy to clipboard operation
chainloop copied to clipboard

improve contract-versions queries

Open migmartri opened this issue 1 year ago • 0 comments

query 1

The following query is called quite often during the attestation process or even more taking into account the numbers shown by performance insights.

SELECT DISTINCT "workflow_contract_versions"."id", "workflow_contract_versions"."body", "workflow_contract_versions"."raw_body", "workflow_contract_versions"."raw_body_format", "workflow_contract_versions"."revision", "workflow_contract_versions"."created_at" FROM "workflow_contract_versions" WHERE "workflow_contract_versions" = $1 ORDER BY "workflow_contract_versions"."revision" DESC LIMIT 1

image

This query could be removed if we denormalize the latest-contract-version and add it to the workflow.

Query 2

A related query is

SELECT "workflow_contract_versions"."id", "workflow_contract_versions"."body", "workflow_contract_versions"."raw_body", "workflow_contract_versions"."raw_body_format", "workflow_contract_versions"."revision", "workflow_contract_versions"."created_at" FROM "workflow_contract_versions" WHERE "workflow_contract_versions"."id" IN ($1)

Executed less times, and that potentially could use some performance improvements.

image

migmartri avatar Nov 29 '24 00:11 migmartri