Indizes, die im ABAP/4-Dictionary definiert sind, aber auf der Datenbank fehlen, bzw. auf der Datenbank angelegte aber dem ABAP/4-Dictionary unbekannte Indizes, sind ein besonders wichtiger Faktor, wenn es um Performance-Probleme geht. Aus diesem Grunde wird für die Anzeige der fehlenden Indizes eine eigene Anzeige Missing indices angeboten, obwohl diese auch in der vollständigen Prüfung über Database <-> ABAP/4-dictionary consistency enthalten ist.
Nicht nur fehlende, sondern auch ungünstig definierte oder überflüssige Indizes führen unter Umständen zu einer schlechteren Datenbank-Performance. Einerseits können sie den Optimizer der Datenbank zu einer ungünstigen Indexauswahl verleiten. Andererseits müssen unnötige Indizes bei jedem ändernden Zugriff auf die Datenbank mit berücksichtigt werden.
So überprüfen Sie, ob Indizes fehlen:
Verwenden Sie alternativ den Transaktionscode DB02.
Es werden die Tabellen im ABAP/4 Dictionary und die Datenbanktabellen analysiert. Die angezeigten Daten stammen entweder aus den regelmäßigen Batch-Läufen zur Performance-Analyse oder können mit Refresh neu erstellt bzw. aktualisiert werden.
Indizes können fehlen, wenn Sie beim Erstellen einer Tabelle eine Fehlermeldung ignorieren (Tabelle erstellt, Index nicht erstellt) oder wenn ein Index gelöscht wird. Letzteres kann z.B. während einer inkorrekten Reorganisation vorkommen.
Im ABAP/4-Dictionary definierte aber auf der Datenbank fehlende Indizes können Sie direkt aus der Anzeige heraus auf der Datenbank anlegen (
Objekte auf der Datenbank anlegen). Außerdem können Sie sich die jeweilige Definition im ABAP/4-Dictionary anzeigen lassen ( Objektdefinitionen anzeigen).
Primärindizes (enden mit 0) stellen sicher, daß die Zeilenschlüssel (Reihenschlüssel) eindeutig sind. Das Fehlen von Primärindizes ist daher ein kritisches Problem.
Sekundärindizes (enden nicht mit 0) werden für besondere Scans verwendet und sind nur für die Performance relevant.
Siehe auch:
Konsistenzprüfungen Datenbanktabellen ohne unique Index Namenskonventionen für Indizes