Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

SQL: Datenbankabfragen beschleunigen

Felder einfach oder doppelt verknüpfen

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Macht es einen Unterschied, ob Sie Long- oder Text-Felder miteinander oder einfach bzw. doppelt verknüpfen? Ja, das ist ein immenser Unterschied!

Transkript

Das Konzept einer relationalen Datenbank besteht ja genau darin, Daten auf so viele Tabellen zu verteilen, wie es inhaltlich und vom Datenmodell her sinnvoll ist. Das heißt, Sie müssen anschließend Tabellen wieder zusammenfügen, mit entsprechenden SQL-Befehlen. Und einer von diesen typischen ist Inner-Join. Wenn ich mir diese Select-Abfrage angucke, am besten in der grafischen Variante, dann ist das sicherlich der Normalfall. Ein Inner-Join zwischen einer Haupt- und einer Untertabelle. Hier ist der Primär-Schlüsse. Da ist der Fremdschlüssel. Ich möchte also alle Daten sehen, die in beiden vorkommen. Welche Daten ich davon sehe, ist eigentlich relativ egal. Ich sehe in diesem Fall Daten aus beiden Seiten, also sowohl dieser ID, als auch jener Inhalt. Technisch könnte ich natürlich hier die gleiche Zahl auf dieser Seite nehmen. Aber es geht vor allem um diese Verbindung. Das ist ein Auto-Wert im Datentyp LONG. Deswegen muss das hier natürlich auch ein LONG sein. Hier gibt es also eine Verbindung zwischen zwei LONG-Werten. Das können Sie auch anders lösen, indem Sie beispielsweise, wenn die Daten das hergeben, zwei Zeichenketten mit einaner verbinden. Ich habe die Daten so organisiert, dass die zusammengesetzten Namen, also Vor- und Nachname auch über alle 275.000 Daten hinweg eindeutig sind. Jeder Vorname kommt nur einmal vor, jeder Nachname nur einmal in den ursprünglichen Start-Daten. Und damit ist jede Kombination aus den beiden eindeutig. Nur deswegen kann ich statt der LONG-Verknüpfung hier auch die Zeichenketten-Verknüpfung machen. Also hier der String, bzw. Zeichenketten- Datentypen mit diesem verbunden. Und die sind genau so eindeutig. Im Vergleich dazu, denn es lässt sich ja nicht immer mit einer Verknüpfung machen, möchte ich auch prüfen, wie das aussieht, wenn ich zwei Texte verknüpfen muss. Auch das kommt häufiger vor. Ich sehe, dass sogar an ganz vielen Stellen, wo ich den Verdacht haben, da hätte man auch direkt eine ID nehmen können. IDs sind immer sicherer als Zeichenketten. Gerade wenn Sie mit Namen arbeit, ist die Wahrscheinlichkeit sehr hoch, dass Sie sich einmal vertippen, oder dass jemand wegen Heirat, Scheidung oder Ähnlichem seinen Namen ändert. Und schon haben Sie Probleme. Aber im Vergleich, der gleiche Inhalt, und das klappt ja nur deswegen, weil die Namen so eindeutig sind, durch Verkettung mit zwei Textfeldern, da ist jetzt eine Menge Spielraum. Gucken wir doch einmal, ob das überhaupt zeitliche Auswirkungen hat. Also zuerst die Verknüpfung mit einem einzigen Feld. Also entweder mit einem Text oder mit einem LONG. Der Text braucht erstaunliche 2.218 ms. Die Verknüpfung mit dem LONG-Wert ist ganz klarer Gewinner - 297 ms. Das ist eine Beschleunigung auf 13 %. Das ist ungefähr siebenmal so schnell. Wie ist es denn im Unterschied von einem zu zwei Textfeldern? Da kann man ganz klar sagen, es wird nur schlimmer. Von einem Textfeld auf zwei Textfelder steigt die Zeit von 2.218 ms auf sogar 3 1/4 Sekunden. Das ist also eine Verschlechterung auf 147 %. Vielleicht noch einmal zur Erinnerung, die Verknüpfung mit einem LONG-Feld ist ganz klarer Gewinner mit nur 297 ms. Das ist ein Zehntel dessen, sogar weniger als ein Zehntel dessen, was Sie hier mit der schlechteren Text-Verknüpfung mit zwei Textfeldern hinkriegen.

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!