Add index statuses on account_id and id (#3895)

shrike
Akihiko Odaki (@fn_aki@pawoo.net) 2017-06-24 00:46:00 +09:00 committed by Eugen Rochko
parent e078919f07
commit 6f34a6a77f
2 changed files with 15 additions and 2 deletions

View File

@ -0,0 +1,13 @@
class AddStatusesIndexOnAccountIdId < ActiveRecord::Migration[5.1]
disable_ddl_transaction!
def change
# Statuses queried by account_id are often sorted by id. Querying statuses
# of an account to show them in his status page is one of the most
# significant examples.
# Add this index to improve the performance in such cases.
add_index 'statuses', ['account_id', 'id'], algorithm: :concurrently, name: 'index_statuses_on_account_id_id'
remove_index 'statuses', algorithm: :concurrently, column: 'account_id', name: 'index_statuses_on_account_id'
end
end

View File

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20170609145826) do
ActiveRecord::Schema.define(version: 20170610000000) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -279,7 +279,7 @@ ActiveRecord::Schema.define(version: 20170609145826) do
t.integer "reblogs_count", default: 0, null: false
t.string "language"
t.bigint "conversation_id"
t.index ["account_id"], name: "index_statuses_on_account_id"
t.index ["account_id", "id"], name: "index_statuses_on_account_id_id"
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"], name: "index_statuses_on_reblog_of_id"