Alle oben beschriebenen Möglichkeiten sorgen dafür, dass die Daten sortiert und dem Benutzer angezeigt werden, aber welche ist am besten für eine bestimmte Datenmenge geeignet? Man würde erwarten, dass für kleine Datenmengen die clientseitige Verarbeitung deutlich schneller ist als die serverseitige Verarbeitung, wobei der Unterschied mit zunehmender Datenmenge größer wird, so dass ein serverseitiger Ansatz schließlich effizienter wird.
Um diese Hypothese zu prüfen, wurden Daten mit einer bestimmten Anzahl von Datensätzen mit den oben beschriebenen Methoden sortiert und die dafür benötigte Zeit (in Sekunden) gemessen, jeweils vom Anfang bis zum Ende der Ausführung jeder Methode. Die Ergebnisse finden sich in Tabelle A.
Wie man an den Ergebnissen erkennen kann, nimmt die Zeit, die für clientseitige Bearbeitung erforderlich ist, stetig zu, besonders bei den Methoden, welche eine erneute Anfrage an den Server erfordern. Bei den anderen Verfahren bleibt die Zeit bei so wenigen Datensätzen relativ konstant. Die Tests mit Active X liefern sehr gute Ergebnisse, dies liegt aber am Rückgriff auf die Sortierfunktionen von Excel, welches hierfür besonders geeignet ist. Der .NET-Code scheint auch recht schnell zu sein, was wahrscheinlich darauf zurückzuführen ist, dass er kompiliert wird, im Unterschied zum interpretierten Classic ASP.
Sortieren von Daten
Dieser Artikel hat eine Reihe unterschiedlicher Methoden vorgestellt, um Datensätze für den Benutzer zu sortieren. Einige von ihnen dürften eher unbekannt sein. Wie man sieht, zeigt der Performancetest deutlich, welche Methode für Datenmengen einer bestimmten Größe am besten geeignet ist. Man sollte aber daran denken, dass diese Ergebnisse anders aussehen können, wenn man komplexere Daten verwendet, zum Beispiel mehrere Personen mit identischem oder ähnlichem Nachnamen, oder wenn weitere Spalten bearbeitet werden müssen.
Neueste Kommentare
Noch keine Kommentare zu Effizientes Sortieren innerhalb von Tabellen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.