hallo leute,
ich weiß nicht genau wie man sowas nennt, aber ich versuch mal mein Problem zu erklären.
Es geht nämlich um JOINs. Wenn ich so einen Code habe:
Soweit ich das verstanden habe, fügt SQL zu jedem Eintrag aus t1 dann die komplette tabelle an, und filtert nach den entsprechenden Kriterien. Das Problem nun ist: Er soll nicht bei jedem Eintrag aus t1 jedes mal die gesamte Liste immer wieder durchlaufen, sondern nur einen Teil davon. Ich weiß z.B., dass nur die Einträge, die bei t2.a den Wert 1019 haben durchgesucht werden müssen.
Meine Frage ist nun: wie kann ich SQL sagen, dass er an t1 eine gefilterte Tabelle anhängen soll, damit nicht immer alle Einträge überprüft werden müssen.
Die Idee wäre dann sowas wie
Ich hoffe es ist klar was ich erreichen will. Bei mehreren Hundert/Tausend Einträgen liesse sich bestimmt jede menge Rechenzeit sparen.
Da gibt es doch bestimmt eine Möglichkeit, oder?
ich weiß nicht genau wie man sowas nennt, aber ich versuch mal mein Problem zu erklären.
Es geht nämlich um JOINs. Wenn ich so einen Code habe:
Code:
SELECT * FROM tbl AS t1 INNER JOIN tbl AS t2 ON t2.a = 1019 AND t2.b = t1.b
Meine Frage ist nun: wie kann ich SQL sagen, dass er an t1 eine gefilterte Tabelle anhängen soll, damit nicht immer alle Einträge überprüft werden müssen.
Die Idee wäre dann sowas wie
Code:
SELECT * FROM tbl AS t1 INNER JOIN tbl_gefiltert AS t2 ON t2.b = t1.b
Da gibt es doch bestimmt eine Möglichkeit, oder?
Comment