From 5f2632c999e37ef95f5af222ae8aa11c9b4c893f Mon Sep 17 00:00:00 2001 From: Raymond Jacobson Date: Wed, 3 Jun 2026 14:33:13 -0700 Subject: [PATCH] perf(db): index playlist trending order --- .../0218_playlist_trending_scores_ordered_idx.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 ddl/migrations/0218_playlist_trending_scores_ordered_idx.sql diff --git a/ddl/migrations/0218_playlist_trending_scores_ordered_idx.sql b/ddl/migrations/0218_playlist_trending_scores_ordered_idx.sql new file mode 100644 index 00000000..b4eef88e --- /dev/null +++ b/ddl/migrations/0218_playlist_trending_scores_ordered_idx.sql @@ -0,0 +1,10 @@ +-- Hot playlist trending callers order by score DESC, playlist_id DESC after +-- filtering on type/version/time_range. Put the ordering columns immediately +-- after the equality predicates so PostgreSQL can satisfy the LIMIT without a +-- parallel scan and sort. + +create index concurrently if not exists idx_playlist_trending_scores_ordered + on playlist_trending_scores (type, version, time_range, score desc, playlist_id desc); + +comment on index idx_playlist_trending_scores_ordered is + 'Covers playlist trending endpoints ordered by score desc, playlist_id desc.';