about summary refs log tree commit diff
diff options
context:
space:
mode:
authortakayamaki <fsgiko@gmail.com>2018-01-09 23:00:19 +0900
committerEugen Rochko <eugen@zeonfederated.com>2018-01-09 15:00:19 +0100
commit6f5c0afe93e28375c736437b9bb19b48a7c54a5f (patch)
treee1da1810146a5e726329eff307f9ff890f4973a2
parenteec6095e0250d55b1d272b2fc8bf373f70cd1843 (diff)
add index on statuses for /api/v1/accounts/:account_id/statuses (#6202)
-rw-r--r--db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb10
-rw-r--r--db/schema.rb4
2 files changed, 12 insertions, 2 deletions
diff --git a/db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb b/db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb
new file mode 100644
index 000000000..401fc5e62
--- /dev/null
+++ b/db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb
@@ -0,0 +1,10 @@
+class AddIndexOnStatusesForApiV1AccountsAccountIdStatuses < ActiveRecord::Migration[5.1]
+  disable_ddl_transaction!
+
+  def change
+    safety_assured do
+      add_index :statuses, [:account_id, :id, :visibility, :updated_at], order: { id: :desc }, algorithm: :concurrently, name: :index_statuses_20180106
+    end
+    remove_index :statuses, name: :index_statuses_on_account_id_id
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 04d957c63..d1722fa29 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema.define(version: 20171226094803) do
+ActiveRecord::Schema.define(version: 20180106000232) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "plpgsql"
@@ -409,7 +409,7 @@ ActiveRecord::Schema.define(version: 20171226094803) do
     t.bigint "account_id", null: false
     t.bigint "application_id"
     t.bigint "in_reply_to_account_id"
-    t.index ["account_id", "id"], name: "index_statuses_on_account_id_id"
+    t.index ["account_id", "id", "visibility", "updated_at"], name: "index_statuses_20180106", order: { id: :desc }
     t.index ["conversation_id"], name: "index_statuses_on_conversation_id"
     t.index ["in_reply_to_id"], name: "index_statuses_on_in_reply_to_id"
     t.index ["reblog_of_id", "account_id"], name: "index_statuses_on_reblog_of_id_and_account_id"