diff --git a/db/post_migrate/20220111023852_index_cluster_agent_tokens_on_status.rb b/db/post_migrate/20220111023852_index_cluster_agent_tokens_on_status.rb new file mode 100644 index 0000000000000000000000000000000000000000..6de0f9424e8a0c6220ae97d7792aeab970396d37 --- /dev/null +++ b/db/post_migrate/20220111023852_index_cluster_agent_tokens_on_status.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +class IndexClusterAgentTokensOnStatus < Gitlab::Database::Migration[1.0] + disable_ddl_transaction! + + INDEX_NAME = 'index_cluster_agent_tokens_on_agent_id_status_last_used_at' + + def up + add_concurrent_index :cluster_agent_tokens, 'agent_id, status, last_used_at DESC NULLS LAST', name: INDEX_NAME + end + + def down + remove_concurrent_index_by_name :cluster_agent_tokens, INDEX_NAME + end +end diff --git a/db/schema_migrations/20220111023852 b/db/schema_migrations/20220111023852 new file mode 100644 index 0000000000000000000000000000000000000000..15ab047066291946b2b2797b8eff83bf91162d48 --- /dev/null +++ b/db/schema_migrations/20220111023852 @@ -0,0 +1 @@ +fdb6e193748f9933aa3ae60fab41960e06d4edf271048fc5f6c9c465d30a8334 \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index e39a7e2ccbf2fcc833c2f6b7844dd5421048c22a..7bbb95fbbb9d6da1aa215545459674e9a6996fa7 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -25667,6 +25667,8 @@ CREATE UNIQUE INDEX index_ci_variables_on_project_id_and_key_and_environment_sco CREATE INDEX index_cluster_agent_tokens_on_agent_id_and_last_used_at ON cluster_agent_tokens USING btree (agent_id, last_used_at DESC NULLS LAST); +CREATE INDEX index_cluster_agent_tokens_on_agent_id_status_last_used_at ON cluster_agent_tokens USING btree (agent_id, status, last_used_at DESC NULLS LAST); + CREATE INDEX index_cluster_agent_tokens_on_created_by_user_id ON cluster_agent_tokens USING btree (created_by_user_id); CREATE UNIQUE INDEX index_cluster_agent_tokens_on_token_encrypted ON cluster_agent_tokens USING btree (token_encrypted);