Index-Manager
Beschreibung
Zeigt jeden in der Datenbank vorhandenen Index, mit all seinen Informationen, an. Außerdem bietet er zusätzliche Funktionen, über welche man die Indizes manuell oder automatisch pflegen kann. Auswertungsmöglichkeiten der bestehenden Indizes bietet der Index-Manager durch das Suchen nach "Doppelten Schlüsseln" oder nach "Klassen ohne Index".
Ein Index kann aktiv oder inaktiv sein, d.h. ein Index wird zunächst mit allen benötigten Daten im Indexmanager registriert, er kann aber nicht erstellt/nicht aktiv sein.
Eine Übersicht, welche Indexe erstellt werden sollten, findet man in der Anleitung zu Indexe für Queries.
Funktionalität
Eingabefenster
Dieses Fenster dient der Pflege von Indizes.
Beim Anlegen eines neuen Indexes ist es zwingend erforderlich das Datenfeld/den Zugriffsausdruck anzugeben und eine Klasse im Dropdown-Menü auszuwählen.
Verwendet man eine Retrieve - Anweisung in der Datenfeldangabe, so wird eine Sicherheitsabfrage ausgegeben. (siehe Retrieve)
Feld | Beschreibung |
---|---|
Objekt | Ist diese Option gewählt, kann man für ein Liste (collection) innerhalb des hier anzugebenden Objekts einen Index aufbauen |
: Collection (nur bei Option "Objekt") |
Name der collection im Objekt |
Klasse | Angabe des Namens der Klasse, über die ein Index gelegt werden soll |
Datenfeld | Name des Datenfeldes oder Zugriffsausdrucks, für das/den ein Index gelegt werden soll. Handelt es sich um ein Datenfeld/Zugriffsausdruck vom Typ POINTER oder REL_1M, muss am Anfang ein "@" eingefügt werden. Außerdem muss dieser Ausdruck mit dem Schlüsselwort Index im System definiert sein. |
DB Layer (nur wenn Option "Objekt" ausgeschaltet) |
Datenbank Layer festlegen |
Domäne (nur wenn Option "Objekt" ausgeschaltet) |
Domäne festlegen |
Schlüssel | Die Auswahl ist standardmäßig voreingestellt und gesperrt |
: COPY_KEY | Kopiert die Datenfelder, der in der Collection enthaltenen Objekte |
: POINT_TO_KEY | Enthält einen Pointer auf die Datenfelder, der in der Collection enthaltenen Objekte |
Sortierung | Die Auswahl ist standardmäßig voreingestellt und gesperrt |
: Geordnet | Ordnet die Collection |
: Unsortiert | Ordnet die Collection nicht |
Duplikate | - |
: Duplikate erlaubt | Lässt Duplikate im Index zu |
: Keine Duplikate | Lässt keine Duplikate im Index zu |
Index aktivieren | Der Index wird nicht nur im Indexmanager registriert, sondern er wird sofort erstellt |
Indexoperationen aufteilen (nur auswählbar, wenn "Index aktivieren" angewählt wurde) |
Wird diese Option gewählt, kann man die Erstellung des Indexes auf mehrere Transaktionen aufteilen. Dieses ist dann notwendig, wenn bei Aufbau eines Indexes eine "adress space overflow" exception auftritt (z.B. bei einer sehr großen collection von Objekten). In diesem Fall muss der Indexaufbau auf mehrere Transaktionen aufgeteilt werden. Achtung: Wird der Abbau des Index auf mehrere Transaktionen aufgeteilt wird die aktuelle Transaktion, in dem der Aufruf stattfindet, automatisch beendet (commit). Sollte der Indexabbau dann nicht erfolgreich sein, oder nach dem erfolgreichen Abbau tritt ein Fehler auf, so sind trotzdem alle vor dem Aufruf durchgeführten Änderungen in der Datenbank durchgeführt worden. |
Knopf | Beschreibung |
---|---|
OK | Änderungen am Index werden gespeichert. |
Schließen | Das Fenster wird geschlossen, ohne Änderungen zu speichern. Wenn Sie die Änderungen sichern wollen, so müssen Sie den Knopf "OK" drücken. |
Listenfenster
Dieses Fenster dient der Auflistung von Indizes.
Der Index Manager dient sowohl als Informationsfenster, als auch als Tool zum Bearbeiten von Indizes. So findet man zum Beispiel unter dem Menüpunkt 'Bearbeiten' Funktionen zum Löschen, Bearbeiten und Anlegen eines Indexes. Das Anlegen eines neuen Indexes, funktioniert über den Menüeintrag 'Index neu anlegen'. Über die sich nun öffnenden Eingabemaske, kann man einen neuen Index anlegen. Durch den Menüpunkt 'Index bearbeiten' gelangt man zur gleichen Eingabemaske, mit der man den zuvor selektierten Index in seinen Optionen bearbeiten kann.
Zum Löschen gelangt man über 'Bearbeiten' -> 'Index löschen'. Hier hat man noch die Wahl, den Index über die Funktion DropIndex (empfohlen) oder über RemoveEntry zu löschen. DropIndex nutzt man, um den Index vollständige aus der Datenbank und dem IndexManager zu löschen, während RemoveEntry den Index ausschließlich aus dem IndexManger entfernt (Dieser Index kann nun nicht mehr mit veränderten Optionen angelegt werden).
Suchen von Klassen ohne Indizes
Über den Menüpunkt "Klassen ohne Indizes" gelangt man zu einem Informationsfenster. Hier wählt man aus der Enumeration eine Klasse aus, von der alle abgeleiteten Klassen auf Indizes über ihre REP überprüft werden.
Menüpunkt | Beschreibung |
---|---|
Bearbeiten | - |
: Aktivieren | |
: Deaktivieren | |
: Index neu anlegen | Neuen Index anlegen |
: Index bearbeiten | Selektierten Index bearbeiten |
: Index löschen | Selektierten Index löschen |
: Schließen | Fenster schließen |
Dienste | - |
: REP collections (FindAll) | - |
: : Doppelte Schlüssel in REP collection suchen | |
: : REP collections ohne Index suchen | Informationsfenster aufrufen |
: Fehlerprotokoll | - |
: : an | Fehlerprotokoll aktivieren |
: : aus | Fehlerprotokoll deaktivieren |
: Index(e) prüfen mit | - |
: : AllQuery() | |
: : ExistenceQuery() |
Feld | Beschreibung |
---|---|
Liste | - |
: Status | = Index ist aktiv = Index ist aktiv und inkonsistent = Index ist nicht aktiv und inkonsistent = Index ist nicht aktiv Durch einen Fehler oder einen Absturz während der Aktivierung oder Deaktivierung eines Index mit mehreren Transaktionen bleibt der Index in einem inkonsistenten Zustand. |
: Index | Klasse, Layer und Domain der indizierten Collection |
: Indexpfad | Zugriffsausdruck |
: Typ | Zeigt seine Konstanten |
: Erzeugt am | Erzeugungsdatum |
REP collections ohne Index suchen
Hier wählt man aus der Enumeration eine Klasse aus, von der alle abgeleiteten Klassen auf Indizes über ihre REP überprüft werden.
Feld | Beschreibung |
---|---|
Alle Klassen abgeleitet von | Auswahl der Klasse |
Liste | Auflistung der abgeleiteten Klassen |
Eingabe
Feld | Beschreibung |
---|---|
Aufteilen | |
Anzahl Objekte pro Transaktion |
Knopf | Beschreibung |
---|---|
OK | |
Abbrechen |
Verwandte Themen
Technische Dokumentation
Index Manager
Modulname
indexmgr.mod
Klassen
Security
Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.
Message | Parameter | Funktion | Security |
---|---|---|---|
SHOW_INDEX_MANAGER | keine | Indexmanager aufrufen |
Message | Parameter | Funktion | Empfangs-Modul |
---|