Table Cache

Allgemein

Siehe Abschnitt Datenstrukturen.

Geltungsbereich / Lebensdauer

Leben im Profil (und nicht in anderen Profilen) während des Profil-Laufs/-Tests.


Table Caches sind eine Erweiterung von Maps, die untereinander referenziert werden können. Sie dienen zur Ersetzung von Datenbanktabellen, die für sehr viele Abfragen genutzt werden und damit starken Einfluss auf die Performance eines Mappings haben können. Da Table Caches im Speicher gehalten werden, sind die Zugriffszeiten sehr viel kürzer als die Anfrage an eine Datenbank über das Netzwerk hinweg. Ein Table Cache ist ähnlich wie eine Tabelle aufgebaut.


  • Er hat einen Namen.

  • Er besitzt Spalten, die jeweils einen Namen haben, davon ist laut Konvention die erste Spalte der Primärschlüssel, der einen einzelnen Eintrag identifiziert. Dies ist vergleichbar mit dem Schlüssel einer regulären Map.

  • Werte von Spalten können Referenzen auf Einträge anderer Table Caches sein (Foreign Keys).


Ein Table Cache wird über die Funktion create table cache angelegt. Dabei werden der Name des Caches selbst und die Namen der im Cache gehaltenen Spalten festgelegt. Wie schon bemerkt, ist die erste Spalte auch gleichzeitig die Spalte mit dem Primärschlüssel. Fremdschlüssel werden per Konvention über die Syntax Fremd-Cache>Spaltenname festgelegt.

Werte werden in den Cache mittels der Funktion add to table cache hinzugefügt. Ausgelesen wird über die Funktion get value from table cache und einen Dump können Sie erzeugen mit dump table cache(a,b). Der Inhalt eines Caches kann gelöscht werden mit clear table cache(a,b).

Hinweis: Statt Table Caches können auch rein speicherbasierte Datenbanken eingesetzt werden (z. B. HSQL, McKoi, MySQL-Tabellen mit Storage-Engine MEMORY).