more faster index on notifications table (#6108)

signup-info-prompt
takayamaki 2017-12-27 01:56:31 +09:00 committed by Eugen Rochko
parent 1e5d1fa5c8
commit 1494509468
2 changed files with 9 additions and 2 deletions

View File

@ -0,0 +1,7 @@
class MoreFasterIndexOnNotifications < ActiveRecord::Migration[5.1]
def change
commit_db_transaction
add_index :notifications, [:account_id, :id], order: { id: :desc }, algorithm: :concurrently
remove_index :notifications, name: :index_notifications_on_id_and_account_id_and_activity_type
end
end

View File

@ -10,7 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20171212195226) do ActiveRecord::Schema.define(version: 20171226094803) do
# These are extensions that must be enabled in order to support this database # These are extensions that must be enabled in order to support this database
enable_extension "plpgsql" enable_extension "plpgsql"
@ -259,8 +259,8 @@ ActiveRecord::Schema.define(version: 20171212195226) do
t.bigint "account_id" t.bigint "account_id"
t.bigint "from_account_id" t.bigint "from_account_id"
t.index ["account_id", "activity_id", "activity_type"], name: "account_activity", unique: true t.index ["account_id", "activity_id", "activity_type"], name: "account_activity", unique: true
t.index ["account_id", "id"], name: "index_notifications_on_account_id_and_id", order: { id: :desc }
t.index ["activity_id", "activity_type"], name: "index_notifications_on_activity_id_and_activity_type" t.index ["activity_id", "activity_type"], name: "index_notifications_on_activity_id_and_activity_type"
t.index ["id", "account_id", "activity_type"], name: "index_notifications_on_id_and_account_id_and_activity_type", order: { id: :desc }
end end
create_table "oauth_access_grants", force: :cascade do |t| create_table "oauth_access_grants", force: :cascade do |t|