commit: 7328235c6430d22279a0ef836ee935746f07bb02
parent f25ef1aa7f4ba547c543eec0ec1c42d14f131d02
Author: lain <lain@soykaf.club>
Date: Tue, 18 Mar 2025 08:33:09 +0000
Merge branch 'speed-improvement' into 'develop'
Migrations: Add activities_actor_type index
See merge request pleroma/pleroma!4341
Diffstat:
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/changelog.d/activity_type_index.change b/changelog.d/activity_type_index.change
@@ -0,0 +1 @@
+Add new activity actor/type index. Greatly speeds up retrieval of rare types (like "Listen")
diff --git a/config/config.exs b/config/config.exs
@@ -48,7 +48,7 @@ config :pleroma, ecto_repos: [Pleroma.Repo]
config :pleroma, Pleroma.Repo,
telemetry_event: [Pleroma.Repo.Instrumenter],
- migration_lock: nil
+ migration_lock: :pg_advisory_lock
config :pleroma, Pleroma.Captcha,
enabled: true,
diff --git a/priv/repo/migrations/20250314153704_add_activities_actor_type_index.exs b/priv/repo/migrations/20250314153704_add_activities_actor_type_index.exs
@@ -0,0 +1,14 @@
+defmodule Pleroma.Repo.Migrations.AddActivitiesActorTypeIndex do
+ use Ecto.Migration
+ @disable_ddl_transaction true
+
+ def change do
+ create(
+ index(
+ :activities,
+ ["actor", "(data ->> 'type'::text)", "id DESC NULLS LAST"],
+ concurrently: true
+ )
+ )
+ end
+end