In der Objektverwaltung kann der Benutzer über das Menü Auswahl / Auswahl Filter definieren, mit denen die Auswahl in der Liste links auf einen Teil der Tabelle eingegrenzt wird. Eine solche Filterung kann gespeichert und regelmäßig wiederverwendet werden.
Sind die gefilterten Tabellen sehr umfangreich (mehrere Hundert Zeilen), kann es allerdings zu Performance-Problemen kommen. Performance-Probleme entstehen auch deswegen, weil die Memos vom Typ Standard (d.h. sie werden bei Eintritt des Benutzers in die Funktion geladen) oder vom Typ Global (d.h. sie werden von einer Gruppe von Benutzern gemeinsam benutzt) sein können.
Mit der Analysefunktion der vom Benutzer in einer Arbeitsmappe abgelegten Memos können potenzielle Performance-Probleme im Nachhinein aufgespürt werden. Hierbei ist es wichtig zu beachten, dass diese Funktion nur Hinweise gibt und in einigen Fällen auch Probleme aufzeigt, die ohne negative Auswirkungen bleiben können. Beispielsweise kann ein Memo, für das vom Benutzer mit diesem Tool kein diskriminierender Index gefunden wird, dennoch einen bereits an anderer Stelle in der Standard-Bearbeitungslogik definierten Filter ergänzen.
Dennoch sollten für jede Zeile der Logdatei die Fehlermeldung überprüft und ggf. Gegenmaßnahmen ergriffen werden. Folgende Gegenmaßnahmen sind denkbar:
Ein solcher Optimierungsindex wird auf Basis der in der Arbeitsmappe vorhandenen Memo-Dateien sowie der verschiedenen Indexkriterien in der Tabelle (darunter auch die Optimierungsindizes) erstellt, und die Diagnose erfolgt anhand der Anzahl von Tabellenzeilen.
Mit den beiden im Folgenden aufgeführten Parametern können die vom Benutzer angelegten Memos geprüft werden. Eine solche Memo-Prüfung ist jedoch nur bei Anlage möglich. Dies führt dazu, dass sich zunächst korrekte Memos einige Monate später suboptimal verhalten können, wenn beispielsweise ihre Performance durch das Datenbankvolumen leidet. Daher ist es auch dann wichtig, dieses Tool aufzurufen, wenn die beiden im Folgenden beschriebenen Parameter korrekt gesetzt sind.
Siehe Dokumentation Umsetzung
Übersicht
Hier werden drei Werte (Anz. Zeilen) zur Beschreibung der Tabellen definiert, in denen die Memos geprüft werden sollen.
Nachdem die Bearbeitung beendet ist, wird eine zweiteilige Logdatei geschrieben. Im ersten Teil dieser Logdatei werden alphabetisch nach Memodatei die aufgespürten Probleme aufgelistet und durchnummeriert. Die Meldungen in der Logdatei haben folgende Form:
NNN lokales Memo UUUUU.NAME in Tabelle XXXXXX (Tabellentitel)
MELDUNG | DEFINITION |
*** WARN (MMMM) *** BESCHREIBUNG | Performance-Problem: MMMM Zeilen sind in der Tabelle enthalten. |
*** PERF (MMMM) *** BESCHREIBUNG | Ernstes Performance-Problem: MMMM Zeilen sind in der Tabelle enthalten. |
*** KRIT (MMMM) *** BESCHREIBUNG | kritisches Performance-Problem: MMMM Zeilen sind in der Tabelle enthalten. |
FELD BESCHREIBUNG | Erklärung |
Kein passender Index zum Feldfilter FELD1 FELD2 ...: Performance-Problem | Zu den angegebenen Filtern existiert kein passender Index. Wird das Memo häufig gebraucht, sollte ein Optimierungsindex angelegt werden. |
Der Sortierschlüssel der Liste links (SCHLUESSEL1) unterscheidet sich vom Filterschlüssel (SCHLUESSEL2) | Zum Filtern der Daten wird zunächst ein erster Index SCHLUESSEL2 verwendet. Danach wird für die Anzeige in der Liste links nach Index SCHLUESSEL1 sortiert. Hieraus können sich Performance-Probleme ergeben, falls der Filterindex schwach diskriminierend ist (und deswegen eine große Anzahl von Zeilen sortiert werden müssen). |
Operator 'Abweichung' in Feld FELD1 Operator 'Wie' in Feld FELD1 | Mit diesen beiden Operatoren lassen sich Wertebereiche für die Indexierung vorgeben. Die ist jedoch komplex und kann zu eingeschränkter Performance führen. |
Verknüpfung zweier Bedingungen durch den 'oder'-Operator | Die Auswahl erfolgt aus einer oder mehreren durch ein oder mehrere Oder verknüpfte Bedingungen Diese Abfrageart ist in der Regel relativ schwerfällig. |
Vorgabe eine Ausdrucks: Ausdruck | Diese Art von Auswahl wird nicht analysiert und muss daher individuell auf potenzielle Performance-Probleme untersucht werden. |
Mehrere Tabellen im Memo, Abfrage überprüfen | Hierbei werden Auswahlen über Joins getroffen. Diese Abfrageart kann nicht automatisch vom Benutzer geprüft werden: Zur Prüfung auf Performance-Probleme muss eine manuelle Prüfung durchgeführt werden. |
Im zweiten Teil der Logdatei wird eine Liste der vorherigen Probleme aufgeführt (eine Zeile pro Problem). Diese Liste enthält die Nummer des vorherigen Problems sowie den Memoname im Format UUUUUU.NAME/TABELLE, die Anzahl von Tabellenzeilen und eine Kurzübersicht über die Filterkriterien. Sortierrichtung:
D.h. es werden zunächst die Memos mit den wahrscheinlich größten Performance-Problemen aufgelistet.
Schließen
Felder
In diesem Register befinden sich die folgenden Felder :
Testoptionen
|
Anzahl von Zeilen in der Tabelle, ab der ein Indexproblem am Memo als kritisch für die Performance erachtet wird. |
|
Anzahl von Zeilen in der Tabelle, ab der ein Indexproblem am Memo als ernst für die Performance erachtet wird. |
|
Durch diese Größe (Anzahl Tabellenzeilen) ist die Schwelle festgelegt, unterhalb derer Indexprobleme eines Memos als unproblematisch für die Performance betrachtet werden. Bei Überschreitung des Schwellenwerts wird eine Hinweismeldung angezeigt (sofern nicht auch die nächsten Schwellen überschritten werden). |
Schließen