Navigation

Dienstag, 11. September 2007

ABAP Open SQL Vertiefung

Der heutige Tag stand ganz im Sinne der Optimierung und Vertiefung von SQL Statements in ABAP. Angefangen bei der Repetierung der Datenbankschnittstellen und Architektur, konnten wir einfach nachvollziehen, wieso eine Select Schlaufe unperformanter ist, als ein Array Fetch. Der Grund dafür ist, dass die Netzwerkkomunikation die Daten in Blöcken stattfindet von einer Grösse von standardmässig 32Kb. Werden die Daten nun über mehrere Zugriffe hintereinander statt nur einem an den Datenbankserver geschickt, verursacht dies einen grösseren Overhead und mehr Datenpakete, da die Blöcke immer 32Kb beinhalten könnten, bei einer Select Schlaufe aber nicht immer ganz gefüllt werden. Bei einem Array Fetch entsteht so eine grössere Verdichtung der Daten und müssen weniger lange gepuffert werden, bis alle Daten abgeholt wurden.

Abbildung

Durch dieses Wissen konnten wir uns an den SQL Trace heranmachen, dies ist eine Transaktion mit der man alle SQL Statements zwischen dem manuellen Starten und dem Stoppen des Traces anzeigen lassen kann. Dies bewirkt, dass wir unsere ABAP Entwicklungen analysieren können und mehrere gleiche SQL Statements aufspüren können, diese sollte man möglichst vermeiden, da sie nur unnötige Datenbankzugriffe verursachen.

Keine Kommentare:

Kommentar veröffentlichen

Danke für Ihren Kommentar