Replicate integrations.type indices for integrations.type_new
What does this MR do and why?
Part of the effort to move the integrations.type
column to integrations.type_new
.
This MR adds all the indices we use for integrations.type
, replicating
them for integrations.type_new
, so that when we start using the new column we
get identical performance, and when we remove type
we don't lose the consistency
guarantees.
Migration details
- Type: Post deploy
- Duration: 57.7 s
- Database size change: +319.80 MiB
Query | Calls | Time |
---|---|---|
CREATE INDEX CONCURRENTLY "index_integrations_on_project_and_type_new_where_inherit_null" ON "integrations" ("project_id", "type_new") WHERE inherit_from_id IS NULL |
1 | 23322.4 ms |
CREATE UNIQUE INDEX CONCURRENTLY "index_integrations_on_project_id_and_type_new_unique" ON "integrations" ("project_id", "type_new") |
1 | 8982.3 ms |
CREATE INDEX CONCURRENTLY "index_integrations_on_type_new" ON "integrations" ("type_new") |
1 | 7215.0 ms |
CREATE INDEX CONCURRENTLY "index_integrations_on_unique_group_id_and_type_new" ON "integrations" ("group_id", "type_new") |
1 | 6618.8 ms |
CREATE INDEX CONCURRENTLY "index_integrations_on_type_new_id_when_active_and_project_id_no" ON "integrations" ("type_new", "id") WHERE ((active = true) AND (project_id IS NOT NULL)) |
1 | 4088.5 ms |
CREATE INDEX CONCURRENTLY "index_integrations_on_type_new_and_instance_partial" ON "integrations" ("type_new", "instance") WHERE instance = true |
1 | 812.9 ms |
CREATE INDEX CONCURRENTLY "index_integrations_on_type_new_and_template_partial" ON "integrations" ("type_new", "template") WHERE template = true |
1 | 690.8 ms |
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #333508 (closed)
Edited by Alex Kalderimis