Hallo zusammen,
ich habe eine SQL Abfrage, welche mir zu lange dauert, leider verliefen meine Optimierungsversuche bisher alle ohne Erfolg.
zu dem Problem:
Ich habe 2 Tabellen:
1. Tabelle "Genre" mit ca. 100 Einträgen und eine 2. Tabelle mit Files (Tracks) sagen wir ca. 100.000 Einträge.
In der Tabelle Tracks ist in dem Feld "strGenre" mehrere Genre wie folgt gespeichert (da ein Lied mehreren Genre zugeordnet werden kann):
strGenre ="| Pop | Disco | Electro |"
In der Tabelle Genre existieren hierfür 3 Einträge (POP, Disco, Electro).
Meine Ausgabe soll nun wie folgt sein:
Pro Genre soll eine TrackID des Liedes ermittelt werden (track.idTrack, genre.strGenre (gewünschte Ausgabe: "Pop", "123"))
SQL zurzeit:
weitere Versuche:
Wäre klasse, wenn jemand einen Vorschlag zur Optimierung hat. Zurzeit kostet das "group by" zu viel Zeit (ca. 1500 ms mit "group by" ohne ca. 63ms.).
Danke
Messiahs
ich habe eine SQL Abfrage, welche mir zu lange dauert, leider verliefen meine Optimierungsversuche bisher alle ohne Erfolg.
zu dem Problem:
Ich habe 2 Tabellen:
1. Tabelle "Genre" mit ca. 100 Einträgen und eine 2. Tabelle mit Files (Tracks) sagen wir ca. 100.000 Einträge.
In der Tabelle Tracks ist in dem Feld "strGenre" mehrere Genre wie folgt gespeichert (da ein Lied mehreren Genre zugeordnet werden kann):
strGenre ="| Pop | Disco | Electro |"
In der Tabelle Genre existieren hierfür 3 Einträge (POP, Disco, Electro).
Meine Ausgabe soll nun wie folgt sein:
Pro Genre soll eine TrackID des Liedes ermittelt werden (track.idTrack, genre.strGenre (gewünschte Ausgabe: "Pop", "123"))
SQL zurzeit:
Code:
SELECT genre.[strGenre], tracks.[idTrack]
FROM genre INNER JOIN tracks
ON tracks.[strGenre] like ("%|%" || genre.[strGenre] || " |%" ) group by genre.[strGenre]
Code:
SELECT genre.[strGenre], tracks.[idTrack]
FROM genre, tracks
where tracks.[strGenre] like ("%|%" || genre.[strGenre] || " |%" )
group by genre.[strGenre]
Code:
SELECT g.strGenre, t.[idTrack]
FROM genre g left OUTER JOIN tracks t
on t.[strGenre] like ("%|%" || g.[strGenre] || " |%" ) group by g.strGenre
Danke
Messiahs

Kommentar