Commit bd492628 authored by lain's avatar lain
Browse files

Speed up follower query.

parent 1d1271ca
Pipeline #981 passed with stage
in 3 minutes and 13 seconds
......@@ -265,7 +265,7 @@ def get_or_fetch_by_nickname(nickname) do
def get_followers(%User{id: id, follower_address: follower_address}) do
q = from u in User,
where: ^follower_address in u.following,
where: fragment("? <@ ?", ^[follower_address], u.following),
where: != ^id
{:ok, Repo.all(q)}
......@@ -4,5 +4,6 @@ defmodule Pleroma.Repo.Migrations.AddFollowerAddressIndexToUsers do
@disable_ddl_transaction true
def change do
create index(:users, [:follower_address], concurrently: true)
create index(:users, [:following], concurrently: true, using: :gin)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment