account_deletions get stuck while selecting participations

Following query takes over 20 minutes and fills up the database:
SELECT * FROM participations WHERE author_id = XXXXX

On servers with a huge participations-table this is a serious
performance issue which is easily fixed by the author_id index

Signed-off-by: Lukas Matt <lukas@zauberstuhl.de>
This commit is contained in:
Lukas Matt 2016-03-27 12:42:06 +02:00
parent 0cbb1233aa
commit 16275ec926
2 changed files with 7 additions and 1 deletions

View file

@ -0,0 +1,5 @@
class AddAuthorIdIndexToParticipations < ActiveRecord::Migration
def change
add_index :participations, :author_id, :using => :btree
end
end

View file

@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20160307142216) do
ActiveRecord::Schema.define(version: 20160327103605) do
create_table "account_deletions", force: :cascade do |t|
t.string "diaspora_handle", limit: 255
@ -320,6 +320,7 @@ ActiveRecord::Schema.define(version: 20160307142216) do
t.integer "count", limit: 4, default: 1, null: false
end
add_index "participations", ["author_id"], name: "index_participations_on_author_id", using: :btree
add_index "participations", ["guid"], name: "index_participations_on_guid", length: {"guid"=>191}, using: :btree
add_index "participations", ["target_id", "target_type", "author_id"], name: "index_participations_on_target_id_and_target_type_and_author_id", using: :btree