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.

Datenzugriff mit ADO.NET und .NET Core

Performance-Vergleich unterschiedlicher Abfragen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
In diesem Video sehen Sie auf den ersten Blick anschaulich, wie stark sich die einzelnen DB-Abfragevarianten in der Abarbeitungsgeschwindigkeit unterscheiden.
02:31

Transkript

So, Performance oder Performancevergleich soll auch das Stichwort sein auf dieser Folie. Und zwar geht es darum, wie lange dauert es, eine Millionen Zeilen einzufügen? Es geht jetzt weniger genau um diese Kunden. Die werden von System zu System sicherlich variieren. Nichtsdestotrotz aber, um Ihnen eine Vorstellung zu geben, was für unterschiedliche Performancewerte möglich sind. Und zwar der erste Versuch, die erste Zeile der Tabelle zeigt an ein INSERT ohne Prepare() und Sie sehen, 3.400 Sekunden hätte das gedauert, hätten wir bis aufs Ende gewartet. Und das ist fast eine Stunde und relativ lang. Und allein das Prepare() zu verwenden, obwohl der Test auf einer Maschine stattgefunden hat, wo zum einen der Test Client, zum anderen auch gleich die SQL-Server lief, bringt immerhin schon mal knapp 360 Sekunden an Performance-Vorteil, und das sind immerhin schon mal über 10%. Danach wird es allerdings noch viel, viel schneller. Und zwar wenn Sie Stored Procedures mit TVPs benutzen oder INSERT oder Ad-hoc-Statement mit TVPs benutzen, dann liegen Sie nicht mehr bei 3.000 Sekunden, sondern nur noch bei 9 Sekunden und das ist fast unschlagbar. Das ist richtig, richtig fix an der Stelle. Nur noch ein bisschen schneller geht es, wenn man es mit dem BulkCopy entsprechend korrelieren lässt. Das werde ich Ihnen in einem der folgenden Abschnitte noch zeigen. Das heißt, man kann da noch ein bisschen Performane rausholen. BulkCopy hat allerdings einen Nachteil und zwar hat bei BulkCopy nicht der Server die Möglichkeit, die ID zu generieren und dann an den Client zurückzuschicken. Das heißt, die Daten müssen quasi fix und fertig sein, werden auf den Server geschickt. Natürlich können da IDs generiert werden, Autowerte kein Problem, nur der Client müsste in einer zweiten Operation wissen, welche Zeilen er eingefügt hat und ich werde es dann wieder auslesen. Also sowas wie ein Output oder so hat das BulkCopy nicht. Dafür ist es aber durchaus noch mal einen ganzen Tacken schneller. Immerhin 6 Sekunden zu 9 Sekunden, prozentual gar nicht mal so zu verachten an der Stelle. Und Sie sehen, dass Sie auf die Art und Weise mit relativ einfachen Griffen durchaus richtig an Performance was rausholen können, wobei ich doch vermute, dass die wenigsten Zuschauer wirklich einzelne Inserts ausführen würden. Und falls Sie das getan haben, ab diesem Video werden Sie das hoffentlich nicht mehr tun.

Datenzugriff mit ADO.NET und .NET Core

Lernen Sie, wie mit Ihrer .NET Core-Anwendung auf relationale Datenbanken wie z.B. SQL Server oder SQLite zugreifen.

2 Std. 49 min (28 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:12.04.2017

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!