Outer join imod flere enslignende datasæt driller
Jeg har alvorlige hastighedsproblemer i min database, fordi der er store mængder data, og alt skal gøres korrekt med hensyn til relationer og joins. Det er fortrolige data, så jeg kommer med tænkte eksempler.Jeg har en seriel værdi af en dato som nøgle i alle tabeller.
Jeg spiller i lotteriet. Jeg er med i flere forskellige på forskellige datoer.
Jeg er med i:
Lot1
Lot2
Lot3
Jeg har flere kuponner med 1 lykke nummer
Kup1
Kup2
......
Mål: Alt skal komme ud i en resulterende forespørgsel bygget op af flere forespørgsler oven på hinanden.
DATO LOTT Numm LOTT Numm LOTT Numm
0105 NULL NULL NULL NULL NULL NULL
0205 LOT1 9081 LOT2 3434 LOT3 6876
0205 NULL NULL LOT2 2464 NULL NULL
0205 NULL NULL LOT2 9212 NULL NULL
Det går fint med at "look'e op i" (relation med pil til højre)den styrende serielle dato for LOT1. Men når jeg bagefter i en ny forespørgsel lave denne "outer join" med data i LOT2 datasættet går det galt.
Access tror den skal tage alle forekomster i LOT2 og stille dem over for hver enkelt post i DATO/LOT1/Numm. Det giver 45000*50000 records og min maskine dør en langsom død.
Det sker, selvom jeg bruger pil til højre i relationen.
Er problemet, at jeg ikke på forhånd ved hvilket datasæt der er flest records i. Altså at den ikke kan danne nye records i udtrækket for linie 3 og 4 i eksemplet