PDA

View Full Version : SQLRPGLE Get und Set Prozeduren



Seiten : 1 [2]

Fuerchau
11-05-16, 09:23
Ob ich das dann noch allgemeingültig verwenden würde...
Für die Infor-XPPS-Anwendung habe ich für einige Dateien (Tabellen, Steuerwerte o.ä.) einen internen Cache eingerichtet. Der Vorteil hier war, dass es für die Dateien Filehandler gibt und die Inhalte weitgehend statisch sind sowie nur lesend verwendet werden.
Die Programme sind per CVTRPGSRC in ILE (incl. Copy!) konvertiert.
Dann wird in einer Tabelle der Schlüssel und Datensatz beim 1. Zugriff gespeichert und mit jedem weiteren Zugriff aus der Tabelle geladen.
Dies hat die Zugriffe auf die Dateien erheblich reduziert und die Laufzeit um Faktor 20 verkürzt.
Dabei habe ich mir nicht die Mühe gemacht, die Tabellen noch zu optimieren um einen %lookupeq() zu verwenden. Aber da könnte man sicherlich noch ein paar Millisekunden rausholen.

BenderD
11-05-16, 09:28
... Problem ist beim generischen cache die Keygröße, da man aber meist keine eindeutige Zuordnung braucht, genügt ein Hash (bei Kollision wird einfach verdrängt).

Fuerchau
11-05-16, 09:39
Solange du dich an die AS/400-Spezifikation für Schlüssel hältst:
- max. 120 Felder
- max. 2000 Zeichen
ist doch alles i.O:-;.

BenderD
11-05-16, 09:42
... die Suche über 2000 Zeichen key ist zu langsam

Fuerchau
11-05-16, 10:13
Auch mit Hash? Das finde ich ungewöhnlich.