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

SQL: Datenbankabfragen beschleunigen

Geschwindigkeit steigern bei Zahlenvergleichen

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Es gibt verschiedene Varianten, um Zahlen aus einer Ergebnismenge auszuschließen. Zwei davon sind langsam, erst die dritte offenbart einen spürbaren Geschwindigkeitszuwachs.

Transkript

Wenn es also so ein Problem ist, Daten heraus zu filtern, die gerade nicht einer Bedingung entsprechen, dann sollten wir uns vielleicht noch einmal darum kümmern, wenn es nicht mit einer Unterabfrage, oder einem NOT-Operator geht. Vielleicht gibt es eine andere Lösung. Und es gibt eine. Das betrifft vor allem Zahlen. Das heißt, ich habe hier erst einmal die positive Variante. Die Zahl soll gleich einem Wert sein. Das geht fix. Das kann ich Ihnen so versprechen. Jetzt soll die Zahl ungleich einem Wert sein. Das geht nicht fix. Da steckt wieder ein ungleich <, oder wie hier, ein NOT drin. Da tut sich nichts. Aber Sie sehen hier schon eine andere Variante. Wenn ich die Zahl suche, die nicht 42 ist, dann kann ich einmal versuchen, alle Zahlen zu finden, die kleiner als 42 sind, oder größer. Damit sind sie nämlich auch nicht 42. Vielleicht lohnt sich das. Also der Versuch eine Zahl, bzw. genau nicht diese Zahl zu finden, muss dem Vergleich Stand halten: "Was passiert, wenn die Zahl gleich einem Wert ist?" Das ist fix. Und dann gibt es das Gegenstück: "Die Zahl hat nicht diesen Wert". Das kann ich schreiben als Zahl < Wert. Oder ich kann es als NOT Zahl = Wert schreiben. Oder ich kann es als Zahl < Wert oder Zahl Wert schreiben. Alle drei von diesen letzten Bedingungen kommen zum gleichen Ergebnis. Und auch die Messung kommt zum gleichen Ergebnis. Zahl = Wert dauert 157 ms. Und alle drei anderen Varianten, egal was Sie machen, 375 ms. Also eine sehr deutliche Verschlechterung. Aber bevor Sie sich jetzt zu früh freuen, beziehungsweise zu früh ärgern. Das liegt daran, dass hier kein Index auf dem Feld liegt. Wenn ich das jetzt mit einem Index mache und die gleichen Bedingungen eingebe, allerdings die dritte hier in grau nicht, die fällt schon einmal heraus, dann stelle ich fest, dass Zahl = Wert unter 1 ms ist. Mit Index ist das immer rasend schnell. Und die zwei Varianten, die dort noch übrig bleiben, immer noch 375 ms brauchen. Das ist also jetzt in diesem Vergleich eine Verschlechterung auf über 3.500 %. Aber das dritte, was da schon in grau steht, das wird Sie retten. Wenn ich jetzt nämlich vergleiche. Die Zahl hat nicht diesen Wert mit den beiden Bedingungen, die so schlecht sind und der dritten Variante, der Wert ist kleiner als was ich sehen will, oder größer als das, dann stelle ich plötzlich fest, statt der 375 ms für die schlechten Varianten, bin ich in dem ODER-Fall plötzlich auf 125 ms wieder verbessert. Das ist einmal eben das dreifache. Natürlich ist es immer noch langsamer als der positive Erfolg, so zu sagen. Ich suche Zahl - Ich suche jetzt nicht genau diese Zahl. Aber wenn Sie das Gegenstück haben müssen, also eine Zahl gerade nicht zu finden, dann sollten Sie mit einem Index unbedingt die kleiner oder größer Variante nehmen.

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!