Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 5 additions & 10 deletions server/src/database/migrations/schema.sql
Original file line number Diff line number Diff line change
Expand Up @@ -66,18 +66,13 @@ CREATE TABLE IF NOT EXISTS user_collections (

-- INDEKSER FOR HØY YTELSE (Søk, filtrering, sortering og paginering)

-- Indeks for tekstsøk på tittel og artist
CREATE INDEX IF NOT EXISTS idx_albums_title_trgm ON albums USING gin (title gin_trgm_ops);
CREATE INDEX IF NOT EXISTS idx_albums_artist_trgm ON albums USING gin (artist gin_trgm_ops);

-- Indeks for sortering på utgivelsesår
CREATE INDEX IF NOT EXISTS idx_albums_year_id ON albums (release_year, id);
CREATE INDEX IF NOT EXISTS idx_albums_title_id ON albums (title, id);
CREATE INDEX IF NOT EXISTS idx_albums_decade ON albums ((release_year / 10 * 10));

-- Indeks for hurtigoppslag på spor per album
CREATE INDEX IF NOT EXISTS idx_album_genres_genre ON album_genres (genre_id, album_id);
CREATE INDEX IF NOT EXISTS idx_tracks_album_id ON tracks(album_id);

-- Indeks for anmeldelser per album
CREATE INDEX IF NOT EXISTS idx_reviews_album_id ON reviews(album_id);


CREATE INDEX IF NOT EXISTS idx_user_collections_user ON user_collections (user_id, collection_type);
CREATE INDEX IF NOT EXISTS idx_reviews_album_created ON reviews (album_id, created_at DESC);