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

Felder berechnen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Berechnete Felder sind eine mögliche Quelle für Zeitverluste beim Datenzugriff. Dabei gibt es je nach Datenbanksystem verschiedene Arten von berechneten Feldern mit unterschiedlichen Auswirkungen auf die Geschwindigkeit.

Transkript

Berechnungen brauchen immer Zeit und berechnete Felder sind daher verdächtig als Zeitfresser. Dabei gibt es verschiedene Arten von berechneten Feldern inzwischen. Sie können bspw. in der Tabelle selber, da sehen Sie eine Entwurfsansicht, den Datentyp berechnetes Feld oder Berechnet nehmen, dann wird für jeden Datensatz hier direkt immer ausgerechnet was da als Ergebnis entstehen soll. Im Gegensatz dazu können Sie auch in Abfragen berechnen. Hier bspw. genau das gleiche aber in eine Abfrage berechnet. Das ist manchmal unvermeidlich, wenn Sie Daten aus anderen Tabellen brauchen, oder vielleicht aus historischen Gründen noch enthalten oder weil Ihre Datenbank vielleicht in Tabellen keine Felder berechnen können. Deswegen will ich die verschiedenen Varianten hier testen. Es gibt also in Tabelle VieleDaten kein berechnetes Feld, sondern dort sind die gleichen Daten enthalten. Der Name ist dort auch zusammengesetzt aber das ist mit einer aktualisierung-Abfrage hin geschrieben worden. Das sind in dem Sinne eigentlich redundante Daten, weil die hier überflüssigerweise zusammen bestehen, aber damit lässt sich vergleichen, das es die gleiche Daten Menge ist. Und dann kann ich in dem Formular die verschiedenen Varianten testen. Ich kann also hier testen, wenn der ganze Name aus einem Import kommt und ich erzwinge immer mit der Max Funktion, das wirklich bis zum Ende durchgerechnet wird. Das ist wichtig für Abfragen die nämlich sonst nur den Teil der auf dem Bildschirm erscheint anfangen zu rechnen und den Rest aus Geschwindigkeits-Optimierungs- Gründen erst später nachreichen. Dadurch das ich den maximalen Wert erfrage, ist die Abfrage gezwungen bis zum Ende alle Werte zu berechnen. Das lässt sich hier dann kurz darstellen, wie immer der maximalWert heißt. Der ist mir im Grunde völlig Wurscht. Er soll nur die Zeitmessung ermitteln. Dann kann ich das im Vergleich dazu gucken in der Tabelle, die diesen Wert selber berechnet. Die kommt natürlich zu den gleichen Daten. Das ist einfach der letzte Wert des Maximum eines Textes. Nämlich in sofern können wir uns mal angucken wie das zeitmäßig aussieht. Wenn wir also für zusammengesetzte Daten einmal vergleichen, den Namen der aus einem Import kommt und also als echter Text schon drin steht, oder das gleiche Vor- und Nachname in einem berechnetem Feld, dann sehen Sie im Unterschied der ganze Name braucht beim Ermitteln 203 ms, das berechnete Feld 343. D. h. es ist ein durchaus spürbarer Verlust. Sie brauchen knappe 170% und wenn Sie das jetzt wiederum dieses in der Tabelle berechnete Feld vergleichen mit einer Abfrage, also berechnetes Feld in der Tabelle oder eine Abfrage mit der Berechnung, dann gibt es noch mehr Zeitverlust. Also die 343 ms für das berechnete Feld in der Tabelle brauchen jetzt schon 485 ms, wenn Sie das gleiche Feld in der Abfrage berechnen. Das ist also ein weiterer Verlust auf 141%. Kurz gesagt, je mehr Berechnungen, desto schlechter. Vermeiden Sie also irgendwie Berechnungen, das fällt nicht immer auf, weil, wie gesagt, die Abfrage selber auch optimieren und möglicherweise beim Sortieren z. B. nach unberechneten Feldern, die Anfangszeilen nur zeigen auf dem Bildschirm so das es sich schnell anfühlt. Aber wenn Sie mal wirklich die gesamte Abfrage mit Ihrem Ergebnis brauchen, dann ist je mehr Sie berechnen, desto mehr Zeitverlust da. Die Tabelle ist am schnellsten, die Tabelle mit dem berechneten Feld ist ein bisschen langsam und eine Abfrage mit einem berechneten Feld noch deutlich langsamer.

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!