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

Altdaten zusammenfassen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Wer ältere Detaildatensätze zum Beispiel aus dem letzten Jahr nicht immer wieder gruppieren und summieren will, könnte diese in aggregierter Form in einer Archivtabelle speichern. Allerdings stellt sich dabei die Frage, ob sich das lohnt.

Transkript

Wenn Sie eine Datenbank lange betreiben, dann werden da immer mehr Daten drin gespeichert. Das ist selbstverständlich und an sich nicht schlimm. Darauf sind Datenbank Systeme ja eingestellt. Aber wenn Sie Altdaten besitzen, sagen wir, die vom letzten, vorletzten oder der letzten 10 Jahre, wollen Sie häufig nur noch zusammengefasste Daten betrachten. Die Summe des vorletzten Jahres, verglichen mit der Summe des letzten Jahres, hat sich da was getan. Irgendwann interessieren die Details einfach nicht mehr. Und da wär's natürlich sinnvoller die Details irgendwann auch mal zur Seite zu legen und nicht dauernd wieder neu zusammen zu rechnen. Das ist das was so eine typische Archiv-Tabelle ausmacht könnte. Das dort gar nicht mehr die Detail-Daten drin stehen, sondern nur noch die Summe über's Jahr oder die Summe über die Monate oder die Summe über bestimmte Gruppen. Lohnt sich das? Ich gucke einmal im Vergleich in dieser Datenbank. Es gibt die Original Tabelle viele Daten. Die hat hier die 270.000 Einträge und da steht zu jedem Vornamen, Nachnamen eine Zahl. Die ist völlig beliebig und wenn ich an dieser Stelle bspw. mal ein Filter setze, der trifft zufällig diesen Namen, dann hat der 525 Datensätze. Und hier auch da völlig zufällige Zahlen, die ich aus irgendeinem Grund zoomieren möchte. Und zwar jedes mal wieder und zwar immer wieder für diese Gruppe. Wenn ich also Vergleiche machen will zwischen der einen und der anderen Gruppe, dann muss die Datenbank jedes mal hingehen und das ganze gruppieren und zoomieren. Das kann ich natürlich einmal machen. Das werde ich jetzt zeigen, in einer Aktionsabfrage die das für mich macht, in eine neue Tabelle ein schreibt und die hier zusammengefasst. Und dann kann ich hier entsprechend gucken das ist die Summe. Das macht nicht nur weniger Datensätze, sondern es könnte auch schneller gehen. Sie sehen das schon, wenn ich das Formular jetzt starte direkt nach Augenschein. Das ist das Original. Ich habe eine GROUP BY Angabe und bildet hier eine Summe. Wenn ich das ausführen lasse, dann sehen Sie immerhin noch eine Sanduhr. Wenn ich die zweite Tabelle, die schon die aggregierten Daten enthält, ausführen lasse, dann sehen Sie nicht mal wirklich die Sanduhr. Die ist sofort da. Es gibt also eine gute Chance, dass das beschleunigt. Es geht also um die zwei Varianten wie Sie Altdaten zusammenfassen. Entweder immer wieder live mit einer Abfrage, Gruppierungsabfrage oder einmal vorher weggespeichert in eine Tabelle mit diesen zusammengefassten Daten. Und da gibt's einen ganz klaren Gewinner. Die Abfrage dauert ungefähr 500 ms und die zusammengefassten Daten in der Tabelle 16 ms. D. h. das lohnt sich richtig. Sie brauchen nur noch 3% der Zeit. Allerdings möchte ich nochmal den immer wieder gleichen Spruch erwähnen Korrektheit vor Geschwindigkeit. Wenn Sie irgendwie auch nur befürchten müssen, dass sich die zusammengefassten Daten verändern, dann müssen Sie auf jeden Fall noch die Details behalten, weil die ja für die Daten die Grundlage sind oder Sie müssen irgendeinen Mechanismus einbauen, dass nach jeder solchen Änderung an den Details wieder die aggregierten Daten geschrieben werden. Das kann schon sehr mühsam sein, weil Sie alle Fälle berücksichtigen müssen, indem sich an den Daten irgendwas ändert und dann bevor der Benutzer die Daten analysieren will noch schnell physisch was in die Tabelle zu schreiben. Aber das ist es Wert. Das sehen Sie hier ganz deutlich. Das ist so viel schneller, wenn das regelmäßig gebraucht wird, dann lohnt es sich durchaus solche Altdaten, Achtung keine lebenden, sondern wirklich nur Daten die sich eigentlich nicht mehr ändern in einer eigenen Tabelle zu speichern.

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!