Commit a8ae921d authored by Ash McKenzie's avatar Ash McKenzie

Add index to events and audit_events tables

Index on created_at, author_id
parent 30bddd54
# frozen_string_literal: true
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
# for more information on how to write migrations for GitLab.
class AddIndexToEventsAndAuditEventsCreatedAtAuthorId < ActiveRecord::Migration[5.1]
include Gitlab::Database::MigrationHelpers
DOWNTIME = false
INDEX_NAME = 'analytics_index_%s_on_created_at_and_author_id'.freeze
EVENTS_INDEX_NAME = (INDEX_NAME % 'events').freeze
AUDIT_EVENTS_INDEX_NAME = (INDEX_NAME % 'audit_events').freeze
disable_ddl_transaction!
def up
add_concurrent_index :events, [:created_at, :author_id], name: EVENTS_INDEX_NAME
add_concurrent_index :audit_events, [:created_at, :author_id], name: AUDIT_EVENTS_INDEX_NAME
end
def down
remove_concurrent_index_by_name :events, EVENTS_INDEX_NAME
remove_concurrent_index_by_name :audit_events, AUDIT_EVENTS_INDEX_NAME
end
end
...@@ -335,6 +335,7 @@ ActiveRecord::Schema.define(version: 20190613030606) do ...@@ -335,6 +335,7 @@ ActiveRecord::Schema.define(version: 20190613030606) do
t.text "details" t.text "details"
t.datetime "created_at" t.datetime "created_at"
t.datetime "updated_at" t.datetime "updated_at"
t.index ["created_at", "author_id"], name: "analytics_index_audit_events_on_created_at_and_author_id", using: :btree
t.index ["entity_id", "entity_type"], name: "index_audit_events_on_entity_id_and_entity_type", using: :btree t.index ["entity_id", "entity_type"], name: "index_audit_events_on_entity_id_and_entity_type", using: :btree
end end
...@@ -1219,6 +1220,7 @@ ActiveRecord::Schema.define(version: 20190613030606) do ...@@ -1219,6 +1220,7 @@ ActiveRecord::Schema.define(version: 20190613030606) do
t.string "target_type" t.string "target_type"
t.index ["action"], name: "index_events_on_action", using: :btree t.index ["action"], name: "index_events_on_action", using: :btree
t.index ["author_id", "project_id"], name: "index_events_on_author_id_and_project_id", using: :btree t.index ["author_id", "project_id"], name: "index_events_on_author_id_and_project_id", using: :btree
t.index ["created_at", "author_id"], name: "analytics_index_events_on_created_at_and_author_id", using: :btree
t.index ["project_id", "created_at"], name: "index_events_on_project_id_and_created_at", using: :btree t.index ["project_id", "created_at"], name: "index_events_on_project_id_and_created_at", using: :btree
t.index ["project_id", "id"], name: "index_events_on_project_id_and_id", using: :btree t.index ["project_id", "id"], name: "index_events_on_project_id_and_id", using: :btree
t.index ["target_type", "target_id"], name: "index_events_on_target_type_and_target_id", using: :btree t.index ["target_type", "target_id"], name: "index_events_on_target_type_and_target_id", using: :btree
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment