Constraints
Unter [Admin]->[Tools]->[Constraints] werden die in Limbas verwendeten Constraints aufgelistet. Dazu gehören:
- Indizes
- Foreign Keys
- Primary Keys
- Unique Constraints
Indizes
Das Indizieren führt häufig zu einer Leistungsverbesserung bei der Suche bzw. beim Abruf von Daten.
Angezeigt werden die selbst erstellen Indizes sowie die automatisch angelegten des Systems. Über die Spaltennamen kann die Darstellung der Indizes sortiert werden. Außerdem ist es möglich einzelne Indizes zu löschen oder neu zu erstellen. Die Spalte benutzt zeigt die aktuellen Scans auf diesen Index. Ist sie nach längerer Beobachtung nicht größer als 0 kann der Index gelöscht werden. Nicht genutzte Indizes können die Performance negativ beeinflussen. Man sollte allerdings einen Index nicht vorschnell löschen da er erst dann effektiv genutzt werden kann wenn genügend Daten vorhanden und eine entsprechende Suche erfolgte. Über erneuern wird ein Index neu erzeugt. Das kann je nach Datenbank einen fragmentierten Index stark beschleunigen.
Limbas erstellt automatisch für alle Verknüpfungstabellen einen Index für folgende Felder:
- ID
- VERKN_ID
- SORT
Tabelle_A.ID -> Verkn_Tabelle.ID & Verkn_Tabelle.VERKN_ID -> Tabelle_B.ID Das Feld SORT ist besonders zu beobachten da dieser Index alleine für das Anlegen von Datensätzen in dieser Tabelle eine Leistungsverbesserung bringt. Werden viele Verknüpfungen dieser Tabelle auf einmal angelegt ist der Index sehr vorteilhaft.
Weiterhin legt Limbas bei Installation noch für folgende Tabellenfelder einen Index an:
Tabelle | Feld |
lmb_gtab_groupdat | dat_id |
lmb_indize_d | ref |
lmb_indize_d | wid |
lmb_indize_d | sid |
lmb_indize_ds | ref |
lmb_indize_ds | wid |
lmb_indize_ds | sid |
lmb_indize_f | fid |
lmb_indize_f | wid |
lmb_indize_f | sid |
lmb_indize_fs | fid |
lmb_indize_fs | wid |
lmb_indize_fs | sid |
lmb_indize_w | wid |
lmb_indize_w | metaphone |
lmb_select_d | dat_id |
lmb_select_d | w_id |
lmb_select_w | sort |
lmb_select_w | pool |
lmb_select_w | wert |
Notiz:
Alle Systemindizes können falls nicht mehr vorhanden über die Systemtools erzeugt werden.
Foreign Keys
Foreign Keys verweisen auf Primary Keys einer anderen Tabelle. Beim Verknüpfen von Datensätzen erstellt Limbas im Hintergrund automatisch eine Verknüpfungstabelle. In dieser werden zwei Foreign Keys erzeugt, falls dies beim Anlegen der Verknüpfung ausgewählt wurde (siehe referentielle Integrität).
Primary Keys
Der Primary Key ist ein Schlüssel, der jeden Datensatz einer Tabelle eindeutig identifiziert. Haben zwei Kunden z.B. den gleichen Namen, kann man sie über den Primary Key noch unterscheiden.
Unique Constraints
Für 1:n Verknüpfungen wird für das Feld VERKN_ID anstelle eines Indexes ein Unique Constraint (welcher schon ein Index beinhaltet) erzeugt.