Einen wunderschönen Guten Tag,
ich habe ein kleines Geschwindigkeitsproblem mit meinem Select, vielleicht könnt ihr mir ja weiterhelfen.
Ich schilder erstmal die Situation:
Ich habe 3 tabellen,
1. "tblWohnung" mit ca. 7000 Rows (Informationen zu Wohnungen)
2. "tblAdresse" mit ca. 8000 Rows (Informationen zu Mietern)
3. "tblMieterZuordnung" mit ca. 9000 Rows (Zuordnung der Mieter zu den Wohnungen)
Nun möchte ich eine Liste Aller Wohnungen welche derzeit Leerstehen, da sind immer ca. 300.
Das problem ist das ich in dieser Liste zusätzlich Informationen zum Vormieter brauche(d.h. der Mieter der zuletzt in der Wohnung gewohnt hat) und Informationen zum Nachmieter (d.h. der Mieter der bald in diese Wohnung einziehen wird, fals vorhanden).
Die ID´s beider stehen somit in der Tabelle "tblMieterZuordnung".
Hier mal ein Pseudocode wie ich es derzeit gelöst habe:
Das dauert jedoch viel zu lange, da er bei den letzten beiden Selects immer wieder alle 7000 Rows der Tabelle "tblWohnung" durchgeht, und nicht nur die 300 Leeren.
Wie kann ich es realisieren das alle SubSelects nur über diese 300 Wohnungen des ersten Selects laufen?
Gruß
ich habe ein kleines Geschwindigkeitsproblem mit meinem Select, vielleicht könnt ihr mir ja weiterhelfen.
Ich schilder erstmal die Situation:
Ich habe 3 tabellen,
1. "tblWohnung" mit ca. 7000 Rows (Informationen zu Wohnungen)
2. "tblAdresse" mit ca. 8000 Rows (Informationen zu Mietern)
3. "tblMieterZuordnung" mit ca. 9000 Rows (Zuordnung der Mieter zu den Wohnungen)
Nun möchte ich eine Liste Aller Wohnungen welche derzeit Leerstehen, da sind immer ca. 300.
Das problem ist das ich in dieser Liste zusätzlich Informationen zum Vormieter brauche(d.h. der Mieter der zuletzt in der Wohnung gewohnt hat) und Informationen zum Nachmieter (d.h. der Mieter der bald in diese Wohnung einziehen wird, fals vorhanden).
Die ID´s beider stehen somit in der Tabelle "tblMieterZuordnung".
Hier mal ein Pseudocode wie ich es derzeit gelöst habe:
Code:
SELECT V.name,V.tel,N.name,N.tel FROM (((SELECT FÜR ALLE LEERSTEHENDEN WOHNUNGEN) LEFT JOIN InformationenZuDenWohnungen) LEFT JOIN InformationenZuDenMietern... LEFT JOIN SelectVormieter AS V LEFT JOIN SelectNachmieter AS N
Wie kann ich es realisieren das alle SubSelects nur über diese 300 Wohnungen des ersten Selects laufen?
Gruß
Comment