Skip to content

Improve environments queries for performance

What does this MR do?

Improves Projects::EnvironmentsController#index.json performance with reducing SQL queries.

current queries:
SELECT COUNT(*) FROM "environments" WHERE "environments"."project_id" = $1 AND ("environments"."state" IN ('stopped'))
SELECT COUNT(*) FROM "environments" WHERE "environments"."project_id" = $1 AND ("environments"."state" IN ('available'))
proposed query:
SELECT COUNT("environments"."id") AS count_id, "environments"."state" AS environments_state FROM "environments" WHERE "environments"."project_id" = $1 GROUP BY "environments"."state" 

What are the relevant issue numbers?

Closes #58660 (moved)

Does this MR meet the acceptance criteria?

Edited by Takuya Noguchi

Merge request reports