Erstellen und Verwenden eines Indexes zur Verbesserung der Systemleistung

Erstellen und Verwenden eines Indexes zur Verbesserung der Systemleistung

Wenn Sie eine Tabelle in Access oft durchsuchen oder deren Datensätze häufig nach einem bestimmten Feld sortieren, können Sie diese Arbeitsgänge durch das Erstellen eines Indexes für das betreffende Feld beschleunigen. Access verwendet Indizes in einer Tabelle genauso, wie Sie einen Index in einem Buch verwenden: zum Auffinden von Daten. Access schlägt den Speicherort der Daten in dem Index nach. In einigen Fällen, z. B. für den Primärschlüssel, erstellt Access automatisch einen Index. In anderen Fällen können Sie selbst einen Index erstellen.

Dieser Artikel bietet eine Einführung in Indizes und behandelt folgende Fragen: Wie entscheide ich, welche Felder indiziert werden sollen, und wie werden Indizes erstellt, gelöscht oder geändert? Es wird auch erläutert, unter welchen Bedingungen Access Indizes automatisch erstellt.

Inhalt dieses Artikels

Was ist ein Index?

Welche Felder sollten indiziert werden?

Erstellen eines Indexes

Löschen eines Indexes

Anzeigen und Bearbeiten von Indizes

Automatische Indexerstellung

Hinweis : Mit den in diesem Artikel beschriebenen Methoden können Sie keinen Index für eine Tabelle in einer Webdatenbank erstellen. Die Leistung einer Webdatenbank ist von der Leistung mehrerer Faktoren wie des SharePoint-Servers abhängig, auf dem die Webdatenbank gehostet wird.

Was ist ein Index?

Mit Indizes können Sie dazu beitragen, dass Access Datensätze schneller findet und sortiert. Ein Index speichert den Speicherort von Datensätzen ausgehend von dem Feld oder den Feldern, das oder die Sie indiziert haben. Wenn Access den Speicherort aus dem Index erhält, können die Daten dann durch den direkten Wechsel an den richtigen Speicherort abgerufen werden. Auf diese Weise kann die Verwendung eines Index zur Datensuche erheblich schneller als das Durchsuchen aller Datensätze sein.

Welche Felder sollten indiziert werden?

Indizes können ausgehend von einem Feld oder von mehreren Feldern erstellt werden. Sie möchten sicherlich solche Felder indizieren, die Sie häufig durchsuchen, die Sie sortieren oder die Sie mit Feldern in anderen Tabellen in mehreren Tabellenabfragen verknüpfen. Indizes können die Suche und Abfragen beschleunigen. Beim Hinzufügen oder Aktualisieren von Daten kann jedoch die Systemleistung sinken. Beim Eingeben von Daten in eine Tabelle, die mindestens ein indiziertes Feld enthält, muss Access bei jeder Hinzufügung oder Änderung eines Datensatzes die Indizes aktualisieren. Das Hinzufügen von Datensätzen mithilfe von Anfügeabfragen oder durch Anfügen importierter Datensätze ist wahrscheinlich ebenfalls langsamer, wenn die Zieltabelle Indizes aufweist.

Hinweis : Der Primärschlüssel einer Tabelle wird automatisch indiziert.

Ein Feld, dessen Datentyp ein OLE-Objekt, "Berechnet" oder "Anlage" ist, kann nicht indiziert werden. Bei anderen Feldern sollten Sie eine Indizierung in Erwägung ziehen, wenn alle folgenden Bedingungen zutreffen:

  • Der Datentyp des Felds ist "Kurzer Text" ("Text" in Access 2007 und Access 2010) und "Langer Text" ("Memo" in Access 2007 und Access 2010), "Zahl", "Datum/Uhrzeit", "Ja/Nein" oder "Link".

  • Sie rechnen damit, dass nach den in dem Feld gespeicherten Werten künftig gesucht wird.

  • Sie rechnen damit, dass die Werte in dem betreffenden Feld sortiert werden.

  • Sie rechnen damit, dass in dem betreffenden Feld viele verschiedene Werte gespeichert werden. Wenn viele der Werte in dem Feld identisch sind, können durch einen Index die Abfragen nicht wesentlich schneller werden.

Aus mehreren Feldern bestehende Indizes

Wenn Sie annehmen, dass Sie häufig nach mindestens zwei Feldern gleichzeitig suchen oder sortieren, können Sie einen Index für diese Kombination von Feldern erstellen. Wenn Sie z. B. häufig Kriterien für die Felder "Anbieter" und "Produktname" in derselben Abfrage festlegen, ist es sinnvoll, einen aus mehreren Feldern bestehenden Index (zusammengesetzten Index) für beide Felder zu erstellen.

Beim Sortieren einer Tabelle nach einem zusammengesetzten Index sortiert Access zuerst nach dem ersten für diesen Index definierten Feld. Beim Erstellen eines zusammengesetzten Indexes legen Sie somit die Reihenfolge der Felder fest. Wenn Datensätze mit doppelten Werten im ersten Feld vorhanden sind, sortiert Access als Nächstes nach dem zweiten Feld, das für den Index definiert wurde, usw.

Ein zusammengesetzter Index kann bis zu 10 Felder enthalten.

Erstellen eines Indexes

Wenn Sie einen Index erstellen möchten, müssen Sie zuerst entscheiden, ob ein aus einem Feld bestehender (einfacher) Index oder ein zusammengesetzter Index erstellt werden soll. Einen Index anhand eines einzelnen Felds erstellen Sie, indem Sie die Eigenschaft Indiziert festlegten. In der folgenden Tabelle sind die möglichen Einstellungen für die Eigenschaft Indiziert aufgelistet.

Einstellung der Eigenschaft "Indiziert"

Bedeutung

Nein

Keinen Index für dieses Feld erstellen (oder vorhandenen Index löschen)

Ja (Duplikate möglich)

Einen Index für dieses Feld erstellen

Ja (Ohne Duplikate)

Einen eindeutigen Index für dieses Feld erstellen

Wenn Sie einen eindeutigen Index erstellen, gestattet Ihnen Access nicht, einen neuen Wert in das Feld einzugeben, falls dieser Wert in demselben Feld in einem anderen Datensatz bereits vorhanden ist. Access erstellt automatisch einen eindeutigen Index für Primärschlüssel. Aber Ihnen selbst könnte daran gelegen sein, doppelte Werte in anderen Feldern nicht zuzulassen. Sie können beispielsweise einen eindeutigen Index für ein Feld erstellen, in dem Seriennummern gespeichert werden, damit nicht zwei Produkte dieselbe Seriennummer haben.

Erstellen eines einfachen Indexes    

  1. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf den Namen der Tabelle, in der der Index erstellt werden soll, und klicken Sie dann im Kontextmenü auf Entwurfsansicht.

  2. Klicken Sie auf Feldname für das Feld, das Sie indizieren möchten.

  3. Klicken Sie unter Feldeigenschaften auf die Registerkarte Allgemein.

  4. Klicken Sie in der Eigenschaft Indiziert auf Ja (Duplikate möglich), wenn Sie Duplikate zulassen möchten, oder auf Ja (Ohne Duplikate), um einen eindeutigen Index zu erstellen.

  5. Klicken Sie zum Speichern der Änderungen auf der Symbolleiste für den Schnellzugriff auf Speichern, oder drücken Sie STRG+S.

Erstellen eines zusammengesetzten Indexes    

Wenn Sie einen zusammengesetzten Index für eine Tabelle erstellen möchten, nehmen Sie für jedes Feld des Indexes eine Zeile auf und geben den Indexnamen nur in der ersten Zeile an. Access behandelt alle Zeilen als Bestandteil desselben Indexes, bis es auf eine Zeile trifft, die einen anderen Indexnamen enthält. Wenn Sie eine Zeile einfügen möchten, klicken Sie mit der rechten Maustaste auf die Position, an der eine Zeile eingefügt werden soll, und klicken Sie danach im Kontextmenü auf Zeilen einfügen.

  1. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf den Namen der Tabelle, in der der Index erstellt werden soll, und klicken Sie dann im Kontextmenü auf Entwurfsansicht.

  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Indizes.

    Das Fenster "Indizes" wird angezeigt. Ändern Sie die Größe des Fensters, damit einige leere Zeilen und die Indexeigenschaften angezeigt werden.

  3. Geben Sie in der ersten leeren Zeile in der Spalte Indexname einen Namen für den Index ein. Sie können den Index nach einem der Indexfelder benennen oder einen anderen Namen verwenden.

  4. Klicken Sie in der Spalte Feldname auf den Pfeil, und klicken Sie dann auf das erste Feld, das Sie für den Index verwenden möchten.

  5. In der nächsten Zeile lassen Sie die Spalte Indexname leer. Klicken Sie dann in der Spalte Feldname auf das zweite Feld für den Index. Wiederholen Sie diesen Schritt, bis Sie alle die Felder gewählt haben, die in den Index aufgenommen werden sollen.

  6. Zum Ändern der Sortierreihenfolge für die Feldwerte klicken Sie in der Spalte Sortierreihenfolge des Fensters "Indizes" auf Aufsteigend oder Absteigend. Die Standardsuchreihenfolge ist "Aufsteigend".

  7. Im Fenster Indizes legen Sie unter Indexeigenschaften die Indexeigenschaften für die Zeile in der Spalte Indexname fest, die den Namen des Indexes enthält. Legen Sie die Eigenschaften entsprechend der folgenden Tabelle fest.

    Bezeichnung

    Wert

    Primärschlüssel

    Wenn Ja, ist der Index der Primärschlüssel.

    Eindeutig

    Wenn Ja, muss jeder Wert im Index eindeutig sein.

    Nullwerte ignorieren

    Wenn Ja, werden Datensätze mit einem Nullwert in den indizierten Feldern aus dem Index ausgeschlossen.

  8. Klicken Sie zum Speichern der Änderungen auf der Symbolleiste für den Schnellzugriff auf Speichern, oder drücken Sie STRG+S.

  9. Schließen Sie das Indizes-Fenster.

Löschen eines Indexes

Wenn Sie feststellen, dass ein Index überflüssig geworden ist oder die Systemleistung zu stark beeinträchtigt, können Sie ihn löschen. Beim Löschen eines Indexes wird nur der Index entfernt und nicht das Feld oder die Felder, auf denen der Index basierte.

  1. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf den Namen der Tabelle, in der der Index gelöscht werden soll, und klicken Sie dann im Kontextmenü auf Entwurfsansicht.

  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Indizes.

    Das Fenster "Indizes" wird angezeigt. Ändern Sie die Größe des Fensters, damit einige leere Zeilen und die Indexeigenschaften angezeigt werden.

  3. Markieren Sie im Fenster "Indizes" die Zeile(n), die den zu löschenden Index enthalten, und drücken Sie dann ENTF.

  4. Klicken Sie zum Speichern der Änderungen auf der Symbolleiste für den Schnellzugriff auf Speichern, oder drücken Sie STRG+S.

  5. Schließen Sie das Fenster Indizes.

Anzeigen und Bearbeiten von Indizes

Es kann erforderlich sein, die Indizes einer Tabelle anzuzeigen, um deren Einfluss auf die Systemleistung abzuschätzen oder um sicherzustellen, dass bestimmte Felder indiziert sind.

  1. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf den Namen der Tabelle, in der der Index bearbeitet werden soll, und klicken Sie dann im Kontextmenü auf Entwurfsansicht.

  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Indizes.

    Das Fenster "Indizes" wird angezeigt. Ändern Sie die Größe des Fensters, damit einige leere Zeilen und die Indexeigenschaften angezeigt werden.

  3. Zeigen Sie die Indizes und Indexeigenschaften an, und bearbeiten Sie sie wunschgemäß.

  4. Klicken Sie zum Speichern der Änderungen auf der Symbolleiste für den Schnellzugriff auf Speichern, oder drücken Sie STRG+S.

  5. Schließen Sie das Fenster Indizes.

Automatische Indexerstellung

In einigen Fällen erstellt Access automatisch die Indizes für Sie. Beispielsweise wird für alle Felder, die Sie als Primärschlüssel für eine Tabelle festlegen, automatisch ein Index erstellt.

Die Option AutoIndex bei Importieren/Erstellen im Dialogfeld Access-Optionen ist eine weitere Quelle für die automatische Indexerstellung. Access indiziert automatisch alle Felder mit Namen, die mit den Zeichen beginnen oder enden, die im Feld AutoIndex bei Importieren/Erstellen eingegeben wurden, z. B. ID, Schlüssel, Code oder Zahl. Führen Sie folgende Aktionen aus, wenn Sie die aktuelle Einstellung anzeigen oder ändern möchten:

  1. Klicken Sie auf Datei und dann auf Access-Optionen. Wenn Sie Access 2007 verwenden, klicken Sie auf die Microsoft Office-Schaltfläche > Access-Optionen.

  2. Klicken Sie auf Objekt-Designer. Fügen Sie dann unter Tabellenentwurf Werte im Feld AutoIndex bei Importieren/Erstellen hinzu bzw. bearbeiten oder entfernen Sie dort Werte. Trennen Sie die Werte mit Semikolons (;) voneinander.

    Hinweis : Wenn ein Feldname mit einem in diesem Feld aufgelisteten Wert beginnt oder endet, wird das Feld automatisch indiziert.

  3. Klicken Sie auf OK.

Da jeder zusätzliche Index für Access eine zusätzliche Belastung bedeutet, sinkt die Systemleistung, wenn Daten hinzugefügt oder aktualisiert werden. Das könnte für Sie ein Grund sein, die Werte im Feld AutoIndex bei Importieren/Erstellen zu ändern oder die Anzahl der Werte zu verringern, damit die Anzahl erstellter Indizes möglichst gering gehalten wird.

Seitenanfang

Ihre Fähigkeiten erweitern
Schulung erkunden
Neue Funktionen als Erster erhalten
An Office Insider teilnehmen

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×