Tipps & Tricks: Unnötige Datenbankabfragen bei Einschränkungen mit Einzelfeld verhindern

Die Aktualisierungsroutinen in arcplan funktionieren gewöhnlicher Weise sehr gut. Bei hochkomplexen Anwendungen ist es allerdings teilweise nötig, die Aktualisierung manuell zu beeinflussen, um eine performante Anwendung sicherzustellen.

Dynamische Datenbank Einschränkungen nutzen

In arcplan lassen sich hierfür verschiedene Arten von dynamischen Datenbank-Einschränkungen nutzen. Hierbei ist es wichtig zu wissen, dass die Abhängigkeiten in arcplan immer automatisch aufgelöst werden, wenn sich eine Einschränkung verändert: die automatische Aktualisierung. Wenn das Verhalten der automatischen Aktualisierung nicht detailliert berücksichtigt wird, kann es durch dieses Feature zu nicht gewünschten Aktualisierungen auf der Datenbank kommen.

Dazu ein kleines Beispiel:

 

beispiel-fehlgeschlagene-aktualisierung

 

Das Objekt mit der manuellen Eingabe wird wieder mit einem bereits vorhandenen Wert gefüllt. Die arcplan Aktualisierungsroutine wertet dies als eine Veränderung des Objektes, weil ein Ereignis ausgelöst wurde. Dadurch wird die Datenbankabfrage erneut angestoßen, obwohl der Anwender bereits im in Vorfeld weiß, dass diese Abfrage keine neuen Ergebnisse liefern wird.

Das gleiche Verhalten tritt auf, wenn statt einer manuellen Eingabe z.B. eine sich aktualisierende Formel genutzt wird.

 

beispiel-fehlgeschlagene-aktualisierung-mit-formel

 

Das Radio-Button Objekt enthält eine fixe Formel. Wird das Objekt in irgendeiner Weise aktualisiert – sei es von einem anderen Objekt oder weil sich der Inhalt ändert – wird wiederum automatisch die Datenbankabfrage ausgeführt, obwohl keine signifikanten Veränderungen stattgefunden haben.

Lösung: Die Aktualisierung entkoppeln

Umgehen lässt sich dieses Verhalten, indem die Aktualisierung entkoppelt wird. Dies sollte aber nur bewusst und im Einzelfall durchgeführt werden, nämlich wenn Aktualisierungen unnötigerweise ausgeführt werden.

 

beispiel-aktualisierung

 

Das Radio-Button Objekt wird entsprechend erweitert: Nach einer Aktualisierung wird nun nur die Auswahl kopiert, wenn sich der Wert ergebnisbeeinflussend geändert hat. Somit ist sichergestellt, dass auch bei einer Änderung des Inhalts immer der korrekte Wert angezeigt wird. Durch die Kopie beim Umschalten des Objektes wird die neue Auswahl in die Einschränkung übertragen.

Somit ist die Einschränkung der Datenbank immer aktuell.  Abfragen werden jedoch nur bei Bedarf ausgeführt.

Die Entkopplung des automatischen Aktualisierungsverhalten in arcplan sollte nur im Einzelfall angewendet, um eine dauerhaft qualitativ hochwertige Wartung der Anwendung zu gewährleisten: Es muss klar sein, dass die Änderungen das Ergebnis nicht beeinflussen, die Aktualisierung muss zweifelsfrei als „unnötig“ kategorisiert sein.

Views: 201
clear