From 97739f15c73064ad56312f2cdc35a417985b6de4 Mon Sep 17 00:00:00 2001
From: Stan Hu <stanhu@gmail.com>
Date: Sun, 12 Feb 2017 19:56:25 -0800
Subject: [PATCH] Add indices to improve loading of labels page

---
 changelogs/unreleased/sh-add-labels-index.yml        |  4 ++++
 ...2829_add_index_to_labels_for_title_and_project.rb | 12 ++++++++++++
 db/schema.rb                                         |  2 ++
 3 files changed, 18 insertions(+)
 create mode 100644 changelogs/unreleased/sh-add-labels-index.yml
 create mode 100644 db/migrate/20170210062829_add_index_to_labels_for_title_and_project.rb

diff --git a/changelogs/unreleased/sh-add-labels-index.yml b/changelogs/unreleased/sh-add-labels-index.yml
new file mode 100644
index 00000000000..b948a75081c
--- /dev/null
+++ b/changelogs/unreleased/sh-add-labels-index.yml
@@ -0,0 +1,4 @@
+---
+title: Add indices to improve loading of labels page
+merge_request:
+author:
diff --git a/db/migrate/20170210062829_add_index_to_labels_for_title_and_project.rb b/db/migrate/20170210062829_add_index_to_labels_for_title_and_project.rb
new file mode 100644
index 00000000000..f922ed209aa
--- /dev/null
+++ b/db/migrate/20170210062829_add_index_to_labels_for_title_and_project.rb
@@ -0,0 +1,12 @@
+class AddIndexToLabelsForTitleAndProject < ActiveRecord::Migration
+  include Gitlab::Database::MigrationHelpers
+
+  DOWNTIME = false
+
+  disable_ddl_transaction!
+
+  def change
+    add_concurrent_index :labels, :title
+    add_concurrent_index :labels, :project_id
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index d71911eaf14..feeea55ce9b 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -581,6 +581,8 @@ ActiveRecord::Schema.define(version: 20170210075922) do
 
   add_index "labels", ["group_id", "project_id", "title"], name: "index_labels_on_group_id_and_project_id_and_title", unique: true, using: :btree
   add_index "labels", ["type", "project_id"], name: "index_labels_on_type_and_project_id", using: :btree
+  add_index "labels", ["project_id"], name: "index_labels_on_project_id", using: :btree
+  add_index "labels", ["title"], name: "index_labels_on_title", using: :btree
 
   create_table "lfs_objects", force: :cascade do |t|
     t.string "oid", null: false
-- 
GitLab