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

Jahreszahlen filtern

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Es gibt diverse Möglichkeiten, ein Datumsfeld für ein Jahr zu filtern. Und es gibt einen ganz klaren Sieger, was die Geschwindigkeit betrifft.

Transkript

Beim Filter für ein Datum geht es oftmals gar nicht um tagesgenaue Ergebnisse. Meistens sind Bereiche gemeint. Klassischer wie ein Jahr. Ich will alle Ergebnisse aus einem bestimmten Jahr sehen. Und was ich in fast allen Datenbanken sehe, ist diese Schreibweise. Die Jahreszahl wird einfach mit einem Sternchen eingegeben. Hier kommt es nicht einmal darauf an, ob der Punkt jetzt dabei ist. Aber beispielsweise, wenn wir einen bestimmten Monat suchen, dann steht da .02., um den Februar zu finden. Das ist nicht nur hoch riskant, weil Sie damit abhängig sind von den Ländereinstellung in der Systemsteuerung, sondern auch langsam. Das kann ich Ihnen jetzt schon versprechen. Was gibt es denn als alternativen? Sie können das Jahr z. B. mathematisch eingeben. Sie können sagen, das Jahr 1955 hat einen Tageswert der = dem Neujahrstag 1955 ist und gleichzeitig kleiner < dem Neujahrstag 1956 ist. Viele würden an der Stelle schreiben, <= Silvester 1955. Das ist natürlich mathematisch genau so richtig. Ich nehme lieber den Folgetag, den 1. und beschränke mich dann auf ein kleiner <. Das trifft vor allem Monatswechsel. Dann muss ich nicht wissen, ob ein Monat 30 oder 31 Tage hat. Und beim Februar ist es mir auch egal, ob es ein Schaltjahr ist. Es ist immer < 1. März. Für die Jahresfilter weiß ich natürlich auch, dass das Jahr immer am 31.12. endet. Aber ich habe mir einfach angewöhnt, die Schreibweise immer gleich zu machen. Das ist also hier die mathematische Version. Und Sie können auch das Gegenstück dazu nehmen, das BETWEEN, das allerdings erzwingt, dass Sie hier den Silvestertag angeben, weil das BETWEEN, also das deutsche ZWISCHEN, immer die beiden Grenzwerte inklusive nimmt. Und schließlich können Sie das noch mit einer Funktion machen. Das YEAR ermittelt aus diesem Tagesdatum die Jahreszahl. In der deutschen Schreibweise heißt die Funktion dann Jahr. Und das können Sie mit der 1955 als Zahl vergleichen. Jetzt haben wir also vier verschiedene Varianten. Irgend eine muss doch den Geschwindigkeits-Wettbewerb gewinnen. Fangen wir mit der beliebtesten Version an. Das LIKE Jahreszahl.* Und das im Vergleich mit der Funktion, die aus dem Tagesdatum die Jahreszahl heraus holt. Da gibt es einen ganz klaren Gewinner. Das LIKE braucht erschreckende 500 ms. Fast eine halbe Sekunde. Und die Jahr-Funktion kommt immerhin auf 328 ms. Das ist schon einmal eine Beschleunigung auf zwei Drittel. Der nächste Kandidat ist der Vergleich zwischen diesem LIKE und der mathematischen Schreibweise. Das ist noch ein bisschen schneller. Also das LIKE mit 500 ms. Die mathematische Schreibweise mit 234 ms. Das ist noch ein bisschen schneller. Also das LIKE mit 500 ms. Da sind Sie schon mehr als doppelt so schnell. Und wenn Sie die mathematische Schreibweise mit dem BETWEEN, mit dem ZWISCHEN vergleichen, dann ist es zwar ein bisschen schneller. Aber nicht mehr so ein enormer Fortschritt. Also von den 234 ms für die mathematische Version auf 230 ms. Das ist immerhin noch 87 %. Also durchaus eine Beschleunigung. Gucken wir das im Überblick einmal an. Das wird so zu sagen immer besser. Von dem LIKE mit dem Text-Vergleich - 500 ms, über die Funktion - 328 ms. Noch viel schneller im Vergleich zum ersten jetzt auch doppelt so schnell, die mathematische Schreibweise. Und noch ein Quäntchen mehr rausgeholt - die Zwischen-Angabe. Das alles relativiert sich aber enorm, wenn Sie jetzt dieses Datums-Feld mit einem Index versehen. Da heißt der Gewinner plötzlich ganz klar mathematische Schreibweise. Die beiden mit der Funktion, bzw. mit dem Text LIKE Vergleich, die sind die ganz klaren Verlierer. Die können weder einen Index benutzen, noch irgend etwas anderes an Beschleunigung herausholen. Das BETWEEN ist sehr viel schneller geworden. Aber die mathematische Version ist mit Abstand die schnellste. Wenn Sie also die Auswahl haben, dann verzichten Sie sogar und schreiben es lieber mathematisch. auf das BETWEEN, auf das ZWISCHEN, Da sind Sie nicht nur flexibler, sondern 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
Ihr(e) Trainer:
Erscheinungsdatum:25.03.2015
Laufzeit:2 Std. 15 min (39 Videos)

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!