fix: speedup top-artists and top-albums queries (#167)

This commit is contained in:
Gabe Farrell 2026-01-21 17:30:59 -05:00 committed by GitHub
parent c59c6c3baa
commit 16cee8cfca
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 112 additions and 128 deletions

View file

@ -48,12 +48,12 @@ WHERE r.title = ANY ($1::TEXT[])
-- name: GetTopReleasesFromArtist :many
SELECT
x.*,
get_artists_for_release(x.id) AS artists,
RANK() OVER (ORDER BY x.listen_count DESC) AS rank
FROM (
SELECT
r.*,
COUNT(*) AS listen_count,
get_artists_for_release(r.id) AS artists
COUNT(*) AS listen_count
FROM listens l
JOIN tracks t ON l.track_id = t.id
JOIN releases_with_title r ON t.release_id = r.id
@ -68,12 +68,12 @@ LIMIT $3 OFFSET $4;
-- name: GetTopReleasesPaginated :many
SELECT
x.*,
get_artists_for_release(x.id) AS artists,
RANK() OVER (ORDER BY x.listen_count DESC) AS rank
FROM (
SELECT
r.*,
COUNT(*) AS listen_count,
get_artists_for_release(r.id) AS artists
COUNT(*) AS listen_count
FROM listens l
JOIN tracks t ON l.track_id = t.id
JOIN releases_with_title r ON t.release_id = r.id