Make use of the indices.
Indices in postgresql rely on operators, so they won't be used if you use only functions.
This commit is contained in:
parent
79e44042bc
commit
b108aeee08
2 changed files with 24 additions and 6 deletions
|
|
@ -2,12 +2,21 @@ defmodule Pleroma.Repo.Migrations.FixUserTrigramIndex do
|
|||
use Ecto.Migration
|
||||
|
||||
def up do
|
||||
drop_if_exists index(:users, [], name: :users_trigram_index)
|
||||
create index(:users, ["(trim(nickname || ' ' || name)) gist_trgm_ops"], name: :users_trigram_index, using: :gist)
|
||||
drop_if_exists(index(:users, [], name: :users_trigram_index))
|
||||
|
||||
create(
|
||||
index(:users, ["(trim(nickname || ' ' || coalesce(name, ''))) gist_trgm_ops"],
|
||||
name: :users_trigram_index,
|
||||
using: :gist
|
||||
)
|
||||
)
|
||||
end
|
||||
|
||||
def down do
|
||||
drop_if_exists index(:users, [], name: :users_trigram_index)
|
||||
create index(:users, ["(nickname || name) gist_trgm_ops"], name: :users_trigram_index, using: :gist)
|
||||
drop_if_exists(index(:users, [], name: :users_trigram_index))
|
||||
|
||||
create(
|
||||
index(:users, ["(nickname || name) gist_trgm_ops"], name: :users_trigram_index, using: :gist)
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue