Anfang des Inhaltsbereichs

Funktionsdokumentation Generische Pufferung  Dokument im Navigationsbaum lokalisieren

Verwendung

Bei der generischen Pufferung werden beim Zugriff auf einen Satz der Tabelle alle mit diesem Satz in den generischen Schlüsselfeldern übereinstimmenden Sätze in den Puffer geladen. Der generische Schlüssel ist ein linksbündiger Teil des Primärschlüssels der Tabelle.

Beispiel

In diesem Beispiel wird der rot hinterlegte Satz aus der Tabelle SCOUNTER von einem Programm gelesen. Falls die Tabelle generisch gepuffert ist, werden alle Sätze in den Puffer geladen, deren generische Schlüsselwerte (MANDT und CARRID) übereinstimmen. Dies wird im folgenden Beispiel dargestellt.

Diese Grafik wird im zugehörigen Text erklärt

Wann ist generische Pufferung sinnvoll?

      Wenn generische Bereiche benötigt werden

Sie müssen eine Tabelle generisch puffern, wenn für die Verarbeitung nur bestimmte generische Bereiche der Tabelle benötigt werden.

      Bei mandantenabhängigen Tabellen

Mandantenabhängige, vollständig gepufferte Tabellen werden automatisch generisch gepuffert, da auf einem Applikationsserver nicht in allen Mandanten gleichzeitig gearbeitet werden kann. Das Mandantenfeld ist der generische Schlüssel.

      Bei sprachabhängigen Tabellen

Sprachabhängige Tabellen sind ein weiteres Beispiel für den empfohlenen Einsatz generischer Pufferung. In der Regel werden auf einem Applikationsserver nur Sätze einer Sprache benötigt. Der generische Schlüssel umfasst in diesem Fall alle Schlüsselfelder bis einschließlich des Sprachfeldes.

Funktionsumfang

Definition des generischen Schlüssels

Bei der generischen Pufferung ist die Definition eines geeigneten generischen Schlüssels von entscheidender Bedeutung.

Wird der generische Schlüssel zu klein gewählt, so werden sehr wenige große Bereiche im Puffer gehalten. Bei einem Zugriff werden dann eventuell zu viele Daten in den Puffer geladen.

Wird der generische Schlüssel zu groß gewählt, entstehen zu viele kleine generische Bereiche im Puffer. Diese können die Pufferverwaltung belasten, da dort für jeden gepufferten generischen Bereich ein Eintrag verwaltet wird. Es ist auch möglich, dass viele Zugriffe am Puffer vorbei direkt auf die Datenbank gehen, da sie den generischen Schlüssel der Tabelle nicht voll angeben. Gibt es pro generischem Bereich nur einige wenige Sätze, wird empfohlen, die Tabelle vollständig zu puffern.

Zugriff auf die gepufferten Daten

Es wird empfohlen, eine Tabelle generisch zu puffern, wenn auf die Tabelle mit voll spezifizierten generischen Schlüsselfeldern zugegriffen wird. Ist bei einer SELECT-Anweisung ein Feld des generischen Schlüssels nicht mit einem Wert versorgt, so wird am Puffer vorbei direkt von der Datenbank gelesen.

Wird mit voll spezifiziertem generischen Schlüssel auf einen nicht im Puffer enthaltenen generischen Bereich zugegriffen, erfolgt ein Direktzugriff auf die Datenbank, um den Bereich zu laden. Wenn die Tabelle keine Sätze im angegebenen Bereich enthält ("No Record Found"), wird dieser Bereich im Puffer als nicht existent vorgemerkt. So kann bei einem späteren Zugriffsversuch auf diesen Bereich ein erneuter Datenbankzugriff vermieden werden.

 

 

 

Ende des Inhaltsbereichs