Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

SQL: Datenbankabfragen beschleunigen

Outer Join beschleunigen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Zwar ist ein Outer Join immer deutlich langsamer als ein Inner Join, aber es gibt trotzdem eine Chance, ihn zu beschleunigen.

Transkript

Während der Inner-Join Daten zeigt, die auf beiden Seiten der Verknüpfung identisch sind, zeigt hier der Outer-Join, in diesem Fall ein Left Outer -Join, nur Daten, die auf einer Seite vorkommen. Also in der grafischen Ansicht, will ich alle viele Daten sehen, die auf dieser Seite auf jeden Fall vorkommen und hier nur vielleicht, das sagt mir auch hier der Pfeil. Dort verlange ich, dass die Daten in der Unter-Tabelle einen NULL-Wert stehen haben müssen. Sprachlich übersetzt heißt das, ich möchte alle auf der viele Daten Seite sehen, die kein Gegenstück auf der Unter-Datenseite haben. Der Outer-Join dient also hier dazu, spezielle hier herauszusuchen, die dort kein Gegenstück haben. Das lässt sich auch anders lösen, indem ich nämlich an der Stelle eine Unterabfrage mit einem NotIn mache. Also hier steht in der Haupt-Datenquelle nur die Haupttabelle. Und Sie sehen schon, die ist unbenannt. Ich habe sie einfach der Kurzform halber als V benannt, weil sie hier nämlich noch ein zweites Mal drin vorkommt. Ich möchte alle ID-Daten suchen, die in der Untertabelle, also NichtIn nicht vorkommen. Das geht relativ einfach, dieses Umbenennen. Das haben Sie hier vielleicht eben schon gesehen, indem ich hinter dem Tabellennamen entweder eigentlich nur ein V, oder wenn Sie es deutlicher machen wollen AS V den Namen schreibe und mich auf den beziehen kann. Das ist hier entsprechend also in der Untertabelle, damit ich diese beiden Tabellen voneinander unterscheiden kann. Das ist also die Variante zu einem echten Outer-Join. Und wenn ich schon eine NotIn-Liste habe, dann probiere ich auch direkt das andere Gegenstück - ein NotExists. Vielleicht ist das ja schneller. Wir haben also drei Varianten: - Einen echten Outer-Join. - Ein NotIn Liste - Und ein NotExists In Liste. Fangen wir also mit dem echten Outer-Join an und im Vergleich dazu die Unterabfrage mit NotIn (Liste). Der Outer-Join braucht 2.328 ms. Das ist erheblich. Nur einmal so im Vergleich. Der Inner-Join, also die anderen Daten, die nämlich auch ein Gegenstück haben und übrigens deutlich mehr sind, der brauchte nur 300 ms. Wir haben also jetzt fast das zehnfache, wenn man es ein bisschen sehr rund fast. Immerhin ist mit NotIn einer Liste eine deutliche Beschleunigung hinzukriegen. Das ist noch nicht in der Nähe von einem Inner-Join. Aber wir haben schon einmal beschleunigt auf 73 % der Laufzeit. Na ja, vielleicht kann man noch mehr herausholen, wenn wir die NOT IN Version mit der NOT EXISTS Version vergleichen. Dann kommen wir statt auf 1.704 ms auf 1.535 ms. Das ist zwar eine leichte Verbesserung, aber immer noch eigentlich im Rahmen der Genauigkeit. Man kann das freundlich als schneller bezeichnen. Aber es ist eigentlich fast das gleiche. Immerhin können Sie statt eines Outer-Joins, wenn es einmal schneller gehen muss, eine von diesen NOT IN, bzw. NOT EXISTS benutzen.

SQL: Datenbankabfragen beschleunigen

Entdecken Sie, wo das Beschleunigungspotenzial für SQL-Datenbanken liegt und lernen Sie die Rezepte für bessere Performance.

2 Std. 15 min (39 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Erscheinungsdatum:25.03.2015

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!