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

Kriterien für Join

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Manchmal können Sie bei verknüpften Tabellen den Filter wahlweise in dieser oder jener Tabelle angeben. Allerdings sollten Sie auf jeden Fall die richtige Seite wählen.

Transkript

Wenn Sie zwei Tabellen mit einander verknüpfen, hier also so eine Master- und eine Detail-Tabelle, dann können Sie manchmal Glück haben, dass Sie entscheiden können, auf welcher Seite der beiden Tabellen Sie ein Kriterium angeben. Hier z. B., ich zeige Ihnen das einmal in der grafischen Ansicht, wird die viele ID geprüft, die steht auf der Master-Seite, das sind ja hier die Detail-Daten. Viele ID soll jetzt völlig beliebig kleiner als 1.000 sein. Trotzdem will ich aus beiden Tabellen die Daten sehen. Die ID wird also auf der Master-Seite gefiltert. Das kann ich entsprechend ändern, wenn ich die gleiche Abfrage mache, aber jetzt die untervieleIDRef filtere, auch auf <1000. Da die beiden über einen Inner-Join verbunden sind, können da nur die gleichen Ergebnisse rauskommen. Aber ich habe eben auf der Master- Seite gefiltert und tue das jetzt auf der Detail-Seite. Das mag sogar einen Unterschied machen. Das möchte ich bei der Gelegenheit auch untersuchen, wenn ich nur die Master-Seite darstelle und die Kriterien auf der Master-Seite liegen. Das heißt, es gibt keine Verknüpfung. Ich kann hier auf der Master-Seite einen Filter setzen. Oder wenn ich aus irgend einem Grund eine Verknüpfung brauche, auch da nur die Master-Seite anzeigen, aber den Filter hier unten setzen muss. Das heißt, es gibt also vier Varianten. Bei den ersten beiden werden beide Tabellen angezeigt und der Filter ist einmal auf der Master-, auf der Detail-Seite. Und bei der zweiten werden nur die Master-Daten angezeigt und der Filter ist auch wieder auf der Master- oder auf der Detail-Seite. Zuerst also der Blick auf die Version wo Sie beide Tabellen anzeigen, mit den Kriterien einmal auf der Master-Seite und einmal auf der Detail-Seite. Da gibt es einen ganz klaren Gewinner. Der Filter auf der Master-Seite schafft es in 47 ms. Aber wenn Sie die Detail-Seite filtern sind Sie schon in 31 ms fertig. Das sind zwei Drittel, also eine deutliche Beschleunigung. Wohingegen, wenn Sie das mit der Anzeige nur für den Master machen, es genau umgekehrt ist. Wenn die Kriterien auf der Master-Seite sind, ist es mit Abstand die schnellste, weil eben nur eine einzige Tabelle gefiltert werden muss. Sobald Sie die Kriterien auf der Detail-Seite haben, müssen Sie über den Inner-Join  erst noch eine Verbindung machen. Und das ist dann mehr als doppelt so langsam. Also wenn es irgendwie geht, sollten Sie möglichst wenig Tabellen anzeigen. Das ist hier zu sehen - die Beschleunigung. Aber wenn Sie eine Master-Detail- Verknüpfung haben, nehmen Sie ruhig den Filter, die Kriterien auf die Detail-Seite. Das ist offensichtlich schneller.

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!