]> cat aescling's git repositories - mastodon.git/commitdiff
add index on statuses for /api/v1/accounts/:account_id/statuses (#6202)
authortakayamaki <fsgiko@gmail.com>
Tue, 9 Jan 2018 14:00:19 +0000 (23:00 +0900)
committerEugen Rochko <eugen@zeonfederated.com>
Tue, 9 Jan 2018 14:00:19 +0000 (15:00 +0100)
db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb [new file with mode: 0644]
db/schema.rb

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 (file)
index 0000000..401fc5e
--- /dev/null
@@ -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
index 04d957c637dc1b2723b95df335c0a65c51fb797d..d1722fa29964936f45d32c3da4df2aa4b1b6d16e 100644 (file)
@@ -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"