Performanceoptimierung Tabelle

<< Klicken Sie hier um das Inhaltsverzeichnis anzuzeigen >>

Navigation:  Konfiguration > Anleitungen >

Performanceoptimierung Tabelle

Das Verhalten der Planning Base Tabelle kann mit verschiedenen Einstellungen optimiert werden.

 

Tabellenspalten-Auswahl

 

Die Anzahl der geladenen und dargestellten Tabellenspalten hat einen grossen Einfluss auf die Performance der Planning Base, da jede Tabellenspalte Ressourcen auf dem Client-Rechner benötigt. Daher sollten nur die Tabellenspalten angezeigt werden, die auch wirklich benötigt werden. Dies erfolgt in der INI-Datei in den Abschnitten EBGrid und MSGrid (siehe Grid Einstellungen).

 

Parallele Datenbankverbindung

 

Mit dem INI-Paramter UseSecondaryDbConnections kann eingestellt werden, dass die Planning Base für die Tabelle eine zweite, parallele Datenbankverbindung aufbaut. Dies ermöglicht eine deutliche Geschwindigkeitssteigerung vor allem beim Öffnen von Ordnern. Das Aktivieren dieses Schalters ist Voraussetzung für die optimale Ausnutzung der Vorteile, die die Tabellenmodi 0 und 2 bringen.

Dies führt aber dazu, dass die Transaktion von dieser zweiten Verbindung offen bleibt. Damit dies bei einer ungenutzten Planning Base nicht ewig offen bleibt, gibt es noch den INI-Parameter MaxOpenTransactionTime. Damit wird in dem eingestellten Intervall automatisch ein Refresh ausgelöst, damit die Transaktion geschlossen und neu gestartet wird.

Auch kann noch über den INI-Parameter SelectCountMaxValue das holen der Anzahl Elemente einschränken werden. Damit wird nur die Anzeige zu der Anzahl Objekte eingeschränkt, aber im Event Base Fach werden beim herunterscrollen gleichwohl alle Titel Elemente geladen und dargestellt. Dies bringt bei grossen Fächern auch nochmals einen Geschwindigkeitsvorteil.

ElementCount

 

Tabellenmodus

 

Es gibt drei verschiedene Modi für die Planning Base Tabelle. Der Modus wird über den INI-Parameter GridLoadAllRecords beeinflusst.

Parameterwert

Beschreibung

0
(Standardeinstellung)

Dieser Modus sollte in den meisten Situationen optimal sein.

Beim Öffnen eines Ordners (Fach, Sendung, etc) in der Baumansicht, werden nur die Datensätze aus der Datenbank geladen, die gerade sichtbar sind. Beim Navigieren per Maus oder Tastatur werden weitere Datensätze automatisch nachgeladen. Dadurch wird ein Ordner beim Öffnen relativ schnell angezeigt. Beim Navigieren kann es jedoch je nach Ordnergrösse, Datenbank- und Netzwerk-Performance zu Verzögerungen kommen. Wenn in einem geöfneten Ordner zum letzten Datensatz navigiert wird, muss die Planning Base alle davor liegenden Datensätze von der Datenbank laden. Dafür kann unter Umständen sehr viel Arbeitsspeicher im Client-Rechner belegt werden, so dass andere gleichzeitig laufende Programme in ihrer Ausführung behindert werden können.

Der Modus wird optimal ausgenutzt, wenn der INI-Schalter UseSecondaryDbConnections auf 1 gesetzt ist.

1

Beim Öffnen eines Ordners lädt die Planning Base sofort alle darin enthaltenen Datensätze aus der Datenbank in den Speicher. Dies kann je nach Ordnergrösse, Datenbank- und Netzwerk-Performance zu Verzögerungen bis zur ersten Anzeige des Ordnerinhalts führen. Je nach Ordnergrösse kann dazu auch sehr viel Arbeitsspeicher im Client-Rechner belegt werden, so dass andere gleichzeitig laufende Programme in ihrer Ausführung behindert werden können. Beim Navigieren innerhalb eines geöffneten Ordners sind dann aber keine Datenbank-Zugriffe mehr nötig, wodurch sich die Planning Base schneller anfühlen wird.

2

Dieser Spezialmodus ist speziell für den Umgang mit sehr grossen Ordnern (mehrere 10'000 Einträge) entwickelt worden.

Ähnlich wie beim Standardmodus 0 werden beim Öffnen des Fachs nur die zur Anzeige benötigten Datensätze aus der Datenbank gelesen und beim Navigieren nachgeladen. Der Modus 2 benötigt dafür aber deutlich weniger Arbeitsspeicher im Client-Rechner als Modus 0. Die Datensätze werden dadurch beim Öffnen des Ordners und beim Navigieren schneller angezeigt.

Allerdings verhält sich die Tabelle in diesem Modus in einigen Aspekten anders als in den Modi 0 und 1. Beim Navigieren mit dem Mausrad wird zum Beispiel nicht direkt die Tabellenansicht verschoben sondern es wird die Datensatzmarkierung verschoben. Desweiteren zentriert die Tabelle bei einigen Operationen (z.B. Drag-and-Drop) die Ansicht auf den ausgewählten Datensatz.

Der Modus wird optimal ausgenutzt, wenn der INI-Schalter UseSecondaryDbConnections auf 1 gesetzt ist.

 

Aktualisierung nach externer Datenänderung

 

Der Inhalt der Tabelle wird in der Regel automatisch aktualisiert, wenn die dazugehörigen Daten geändert wurden, z.B. durch einen anderen Benutzer.

Wenn die Tabelle jedoch sehr viele Datensätze hat, müssen beim Aktualisieren unter Umständen grosse Datenmengen von der Datenbank in die Planning Base übertragen werden. Dies kann den Arbeitsfluss negativ beeinflussen. Durch das Einstellen des INI-Parameters FolderReloadLimitSemaphoreMS kann daher das automatische Aktualisieren für solch grosse* Tabellen (Fächer) deaktiviert werden.

 

TableRefresh

Wird eine Tabelle aufgrund ihrer Grösse und der Konfiguration nicht automatisch aktualisiert, wird dies durch ein "Reload"-Symbol in der Tabelle kenntlich gemacht (siehe Markierung).

Haben sich bei einer solchen Tabelle im Hintergrund Daten geändert, blinkt die Titelzeile, um auf nicht mehr aktuelle Daten aufmerksam zu machen. Die Tabelle sollte dann manuell aktualisiert werden (Funktion "Aktualisieren").

 

Aktualisierung nach Bearbeitung im Eigenschaften-Dialog

 

Wenn die Eigenschaften eines Planning Base Datensatzes im Eigenschaften-Dialog bearbeitet und übernommen werden ("OK", "Übernehmen"), werden die Änderungen in der Regel sofort in der Tabelle dargestellt. Dazu müssen jedoch die Datensätze des dargestellten Ordners wieder (komplett) aus der Datenbank gelesen und aufbereitet werden. Je nach Ordnergrösse, Datenbank- und Netzwerk-Performance kann das unter Umständen lange dauern und den Arbeitsfluss behindern.

Mit dem INI-Parameter FolderReloadLimitPropsMS kann man einstellen, dass die Tabellenanzeige für grosse* Ordner nach dem Bearbeiten von Daten erst dann neu geladen wird, wenn der Eigenschaften-Dialog per "OK", "Schliessen" oder "Abbrechen" geschlossen wird, jedoch nicht direkt nach "Übernehmen".

 

Locate-Modus

 

Mit dem INI-Parameter UseDatasetIteration kann zwischen zwei Modi gewechselt werden, mit denen die Planning Base bei der Aktualisierung von Tabellendaten den markierten Datensatz wiederfindet.

Der Standard-Modus 0 ist für die meisten Situationen optimal und sollte nicht geändert werden. Abhängig von Ordnergrösse, Datenbank- und Netzwerk-Performance und anderen Einflüssen kann der Modus 1 eine bessere aber auch deutlich schlechtere Performance bieten. Die Performance-Ergebnisse des Modus 1 schwanken stark. Er wird daher als experimentell angesehen.

 

*Ein Ordner wird als gross eingeschätzt, wenn das Öffnen des Ordners länger dauert, als im Parameter FolderReloadLimitSemaphoreMS  bzw. FolderReloadLimitPropsMS angegeben wurde. Steht der Wert beispielsweise auf 2000 (Millisekunden) und das Öffnen eines Ordners benötigt aufgrund seiner Grösse 3 Sekunden, so gilt der Ordner als gross.