diff --git a/db/migrate/20240410061546_add_index_for_member_approvals_member_namespace_id_status.rb b/db/migrate/20240410061546_add_index_for_member_approvals_member_namespace_id_status.rb new file mode 100644 index 0000000000000000000000000000000000000000..a76569985f7873d7c3c4eabfcef833cb4edca74d --- /dev/null +++ b/db/migrate/20240410061546_add_index_for_member_approvals_member_namespace_id_status.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +class AddIndexForMemberApprovalsMemberNamespaceIdStatus < Gitlab::Database::Migration[2.2] + disable_ddl_transaction! + milestone '16.11' + + INDEX_NAME = 'index_member_approvals_on_member_namespace_id_status' + + def up + add_concurrent_index :member_approvals, [:member_namespace_id, :status], where: 'status = 0', name: INDEX_NAME + end + + def down + remove_concurrent_index_by_name :member_approvals, INDEX_NAME + end +end diff --git a/db/schema_migrations/20240410061546 b/db/schema_migrations/20240410061546 new file mode 100644 index 0000000000000000000000000000000000000000..5e532b6a2cc489c833ceea2dda48b8c4c15186c9 --- /dev/null +++ b/db/schema_migrations/20240410061546 @@ -0,0 +1 @@ +90dda8138e958b31a29a180fe5023417418da6862d8621e7b89d80e5d8abd3da \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index 503eefcebe2c988e00de8d175963872f6993fef7..f0eab50afdd66b451f80db4c69df9cdc9d5e4e60 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -25902,6 +25902,8 @@ CREATE INDEX index_member_approval_on_requested_by_id ON member_approvals USING CREATE INDEX index_member_approval_on_reviewed_by_id ON member_approvals USING btree (reviewed_by_id); +CREATE INDEX index_member_approvals_on_member_namespace_id_status ON member_approvals USING btree (member_namespace_id, status) WHERE (status = 0); + CREATE INDEX index_member_approvals_on_member_role_id ON member_approvals USING btree (member_role_id); CREATE INDEX index_member_approvals_on_user_id ON member_approvals USING btree (user_id);