Performance ved join
HejJeg har to tabeller:
[telefonkald]
dato
start
varighed
telefonnummer
En anden tabel
[priser]
telefonnummer
start_dato
slut_dato
pris
pristype
pristype kan indeholde eks: enduser, routingfee,clientpayout og der er for hvert telefonnummer registreret 1 eller flere priser(med forskellige typer). Mit problem er, at jeg har forsøgt med følgende:
SELECT * FROM telefonkald T LEFT JOIN
(SELECT * priser WHERE pristype='enduser') P1 ON P1.telefonnummer=T.telefonnummer LEFT JOIN
(SELECT * priser WHERE pristype='routingfee') P2 ON P2.telefonnummer=T.telefonnummer LEFT JOIN ....... op til P4
WHERE ...... GROUP BY dato
Ovenstående er en simplificeret udgave af det virkelige problem, men selv om jeg vælger nogle fornuftige indexer, så tager den alt for lang tid. Hvordan kan man ellers gøre det? Jeg har altid et kendt antal muligheder i pristype som ikke ændrer sig.
Rasmus
