akkoma/priv/repo/migrations/20220506175506_add_index_hotspots.exs
Pete 56203aae30
Some checks failed
ci/woodpecker/push/release Pipeline was successful
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/release Pipeline was successful
ci/woodpecker/pr/test Pipeline failed
ci/woodpecker/push/test Pipeline failed
Add index hotspots
2022-07-01 13:59:26 +01:00

17 lines
637 B
Elixir

# Pleroma: A lightweight social networking server
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Repo.Migrations.AddIndexHotspots do
use Ecto.Migration
def change do
# Stop inserts into activities from doing a full-table scan of users:
create_if_not_exists(index(:users, [:ap_id, "COALESCE(follower_address, '')"]))
# Change two indexes and a filter recheck into one index scan:
create_if_not_exists(index(:following_relationships, [:follower_id, :state]))
create_if_not_exists(index(:notifications, [:user_id, :seen]))
end
end