Speed up follower query.
This commit is contained in:
parent
1d1271ca1e
commit
bd4926288e
@ -265,7 +265,7 @@ defmodule Pleroma.User 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: u.id != ^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)
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user