Datenbankindizierung

enaio® editor 10.10 »

Ein Datenbankindex auf Tabellenspalten kann bei umfangreichen Datenbeständen die Recherche erheblich beschleunigen.

Mit der Datenbankindizierung über den enaio® editor können Sie nach Standard- oder selbst festgelegten Kriterien Tabellenspalten indizieren. Sobald eine Tabellenspalte indiziert ist, führt die Datenbank den Index automatisch weiter, wenn Daten hinzugefügt werden.

Bei der Datenbankindizierung werden Indextabellen neu angelegt, bereits angelegte Indextabellen dabei gelöscht und neu angelegt. Sie können so auch die Indextabellen nach umfangreichen Änderungen der Objektdefinitionsdatei oder nach umfangreichen Änderungen im Archiv auf einen aktuellen Stand bringen.

Sie können die Datenbank nur indizieren, wenn kein Benutzer auf die Datenbank zugreift. Leere Tabellen werden nicht indiziert.

Über den enaio® administrator können Sie die Indexstatistiken optimieren, ohne sie gleich neu anzulegen.

Beim Indizieren mit Standard-Einstellungen legt der enaio® editor Indextabellen für folgende Felder an:

  • Zeichenfelder mit maximal 50 Zeichen,
  • Optionsschaltflächen,
  • Kontrollkästchen,
  • Datumsfelder,
  • Zahlenfelder.

Diese Kriterien für das Erstellen von Indextabellen müssen sich nicht immer positiv auf die Arbeitsgeschwindigkeit auswirken. Sie können deshalb nach eigenen Kriterien Indextabellen anlegen lassen.

  • Wählen Sie aus dem Menü Datenbank den Eintrag Indizierung / Einstellungen.

Das Fenster Datenbankindizierung wird geöffnet.

Vorausgewählt sind die Standard-Kriterien. Diese können Sie nach Änderungen über die Schaltfläche Standard wiederherstellen.

  • Wählen Sie die Felder, für die eine Indextabelle angelegt werden soll.
  • Bestätigen Sie mit OK.

Die Einstellungen werden gespeichert.

  • Wählen Sie aus dem Menü Datenbank den Eintrag Indizierung / Starten oder klicken Sie auf die Schaltfläche Datenbankindizierung.

Die Indextabellen werden nach Ihren Kriterien neu angelegt oder gelöscht.

Für Zeichenfelder geben Sie zusätzlich die Anzahl der Zeichen an. Die Spalten von Textfeldern, die größer als angegeben sind, erhalten keine Indextabellen.

Die Selektivität gibt das Verhältnis zwischen der Anzahl unterschiedlicher Einträge in einem Feld und der Anzahl der Dokumente an.

Sie wird so berechnet:

Anzahl der unterschiedlichen Einträge x 100 / Anzahl der Dokumente

Beispiel: 300 unterschiedliche Einträge x 100 / 500 Dokumente = 60%

Je höher die Selektivität ist, desto sinnvoller ist es, Indextabellen anzulegen. Bei langen Zeichenfeldern, die normalerweise eine hohe Selektivität aufweisen, kann allerdings der laufende Indizierungs-Aufwand beim Eingeben von Daten den Vorteil bei der Recherche überwiegen. Das Kriterium der Selektivität ist erst dann sinnvoll, wenn eine repräsentative Anzahl von Dokumenten vorliegt, anhand derer die Selektivität berechnet werden kann.

Feldauswahl und Selektivität werden durch das logische UND kombiniert.

Empfehlung: Die Indizierung von Zeichenfeldern, die für die Recherche wichtig sind – Kundenname, Kundennummer etc. – ist normalerweise sinnvoll. Die Indizierung von Kontrollkästchen und Optionsschaltflächen ist normalerweise nicht sinnvoll.

Die Indizierung kann einige Zeit in Anspruch nehmen. In der Detail-Ansicht sind indizierte Spalten mit einem 'i' gekennzeichnet.

Statt die Indizierung mit dem enaio® editor vorzunehmen, können Sie ein SQL-Script mit den Indizierungs-Einstellungen speichern und dieses Script in Datenbanktools einladen und so die Indizierung optimieren. Das SQL-Script erstellen Sie über das Menü Datenbank/Indizierung.

Statt alle Tabellen zu indizieren, können Sie einzelne Tabellen markieren und über das Kontextmenü indizieren lassen. Dabei werden die aktuellen Einstellungen aus dem Datenbankindizierungs-Dialog verwendet.

In der Datenbankansicht können Sie einzelne Spalten markieren, über das Kontextmenü die Indexierungseigenschaft ändern und damit den Index erstellen oder löschen.

Beim Indizieren über enaio® editor werden alle Indizes gelöscht, welche dem Namensschema für den jeweiligen Typ der Objekttabelle entsprechen.
Für Ordnertabellen: 'Sn_' wobei 'n' die Nummer der Ordnertabelle ist. Beispiel: Das Namenschema für Indizes für Objekttabelle 'stamm11' ist 'S11_'.
Für Registertabellen: 'Rn_' wobei 'n' die Nummer der Registertabelle ist. Beispiel: Das Namenschema für Indizes für Objekttabelle 'register2' ist 'R2_'.
Für Dokumenttabellen: 'On_' wobei 'n' die Nummer der Dokumenttabelle ist. Beispiel: Das Namenschema für Indizes für Objekttabelle 'object22' ist 'O22_'.
Wenn Sie unabhängig von enaio® editor eigene Indizes für die jeweilige Tabelle anlegen, dann darf der Name des Index nicht dem Namensschema der Objekttabelle entsprechen um ein Löschen dieser Indizes beim Indizieren über den enaio® editor zu verhindern.