Mit der Standard- oder Advanced-Lizenz verfügbar.
In ArcGIS werden Indizes verwendet, um Daten schnell abzufragen. Mit Attributindizes werden Datensätze gesucht, die einer Attributabfrage entsprechen, und mit räumlichen Indizes werden Features lokalisiert, die einer räumlichen Abfrage entsprechen.
Attributindizes können Verbindungen und andere Attributabfragen für Tabellen, Feature-Classes, Shapefiles oder attribuierte Beziehungsklassen beschleunigen. Ein Attributindex ist ein alternativer Pfad, der von ArcGIS verwendet wird, um einen Datensatz aus einer Tabelle abzurufen. Bei den meisten Typen von Attributabfragen kann ein Datensatz schneller mit einem Index gesucht werden, anstatt mit dem ersten Datensatz zu beginnen und dann die gesamte Tabelle zu durchsuchen.
Sobald eine bestehende Tabelle, Feature-Class, ein Shapefile oder eine attribuierte Beziehungsklasse Daten enthält, können Sie Attributindizes für Felder erstellen, die Sie regelmäßig abfragen. Es bietet sich an, Indizes für Spalten mit Einzel- oder nahezu Einzelwerten zu erstellen. Erstellen Sie jedoch nur Indizes, die Sie wirklich benötigen, da durch jeden hinzugefügten Index Änderungen an der Feature-Class ein wenig verlangsamt werden. Sobald Sie eine Feature-Class bearbeiten, die einen Attributindex enthält, führt ArcGIS oder das DBMS Verwaltungsaufgaben für den Index durch. Vermeiden Sie es, einen Index für ein Feld zu erstellen, das häufig bearbeitet wird, oder für Felder, die sehr wenige unterschiedliche Werte enthalten, wie Yes oder No, da sich diese Indizes ungünstig auf die Performance auswirken können.
Attributindizes können mit dem Dialogfeld Eigenschaften in ArcGIS Pro oder mit dem Geoverarbeitungswerkzeug Attributindex hinzufügen erstellt werden. Nachdem ein Index hinzugefügt wurde, kann er jederzeit gelöscht und erneut hinzugefügt werden.
Es stehen verschiedene Möglichkeiten zum Erstellen von Attributindizes zur Verfügung. Attributindizes können für einzelne oder mehrere Felder erstellt werden, sie können eindeutig sein, und bei einigen Geodatabases können sie in aufsteigender oder absteigender Sortierreihenfolge erstellt werden. Im vorliegenden Abschnitt der Hilfe erhalten Sie lediglich eine kurze Einführung in diese Konzepte. Wenn Sie eine Strategie zum Indizieren einer Enterprise-Geodatabase erarbeiten, finden Sie ausführliche Informationen in der Dokumentation zum jeweiligen DBMS.
Erstellen von Attributindizes in ArcGIS Pro
Attributindizes können für ein oder mehrere Felder in einem Dataset erstellt werden. Klicken Sie hierzu mit der rechten Maustaste auf die Geodatabase-Feature Class oder den Namen der Tabelle im Bereich Katalog, um das Dialogfeld Eigenschaften zu öffnen.
- Klicken Sie im Bereich Katalog mit der rechten Maustaste auf die Tabelle, Feature-Class, das Shapefile oder die attribuierte Beziehungsklasse, für die/das Sie einen Index erstellen möchten, und wählen Sie dann Eigenschaften aus.
- Wählen Sie die Registerkarte Indizes aus.
Im Abschnitt "Attributindex" werden die bestehenden Indizes für dieses Dataset angezeigt.
Hinweis:
Der Index FDO_OBJECTID wird erstellt und von der Geodatabase verwendet, um jedes Feature eindeutig zu identifizieren. Er kann nicht entfernt werden. Wenn Sie auf FDO_OBJECTID klicken, wird im Abschnitt "Fields" das Feld angezeigt, für das dieser Index erstellt wurde.
- Zum Hinzufügen eines neuen Attributindex klicken Sie auf Hinzufügen.
- Geben Sie unter Name den Namen des neuen Index ein.
- Aktivieren Sie optional das Kontrollkästchen Eindeutig, wenn Ihre Feldwerte eindeutig sind. Aktivieren Sie das Kontrollkästchen Aufsteigend, um einen aufsteigenden Index zu erstellen.
Die Einstellungen Eindeutig und Aufsteigend werden in File-Geodatabases nicht verwendet und müssen daher nicht aktiviert werden. Die Einstellung Aufsteigen wird in Oracle oder SQL Server nicht verwendet.
- Klicken Sie unter Verfügbare Felder auf die Felder, für die Sie diesen Index erstellen möchten.
Hinweis:
Indizes mit mehreren Spalten werden in File-Geodatabases nicht unterstützt.
- Klicken Sie auf den Pfeil nach rechts, um das Feld bzw. die die Felder in die Liste Ausgewählte Felder zu verschieben.
- Wenn Sie mehrere Felder ausgewählt haben, können Sie optional den Pfeil nach oben und nach unten verwenden, um die Reihenfolge der Felder im Index zu ändern.
- Klicken Sie auf OK, um den Index zu erstellen.
- Klicken Sie auf OK, um das Dialogfeld Eigenschaften zu schließen.
Erstellen von Attributindizes unter Verwendung der Geoverarbeitung
Das Toolset Indizes in der Toolbox "Data Management Tools" enthält zwei grundlegende Werkzeuge zum Erstellen und Entfernen von Attributindizes.
Das Werkzeug Attributindex hinzufügen ermöglicht das Hinzufügen eines Index mit einer oder mehreren Spalten zu einer vorhandenen Tabelle, Feature-Class oder attribuierten Beziehungsklasse. Diese Option ist mit jeder ArcGIS-Lizenz verfügbar, kann jedoch nur mit Enterprise-Geodatabases verwendet werden, wenn Sie über eine Standard- oder Advanced-Lizenz für ArcGIS Desktop verfügen.
Das Werkzeug Attributindex entfernen ermöglicht das Entfernen eines Index mit einer oder mehreren Spalten aus einer vorhandenen Tabelle, Feature-Class oder attribuierten Beziehungsklasse. Diese Option ist ebenfalls mit jeder ArcGIS-Lizenz verfügbar.
Namen von Attributindizes
Beim Benennen eines Index in einer Enterprise-Geodatabase empfiehlt es sich, dem Index einen Namen zuzuweisen, der angibt, welche Tabelle bzw. sogar welche Spalte er indiziert. Wenn jedoch der Name der indizierten Tabelle geändert wird, gibt der Indexname möglicherweise nicht mehr an, welche Tabelle indiziert wird. In einigen Unternehmen ist es üblich, Indizes einen Namen zuzuweisen, der angibt, dass es sich um einen Index handelt, beispielsweise durch Voranstellen oder Anhängen von IDX an den Namen. Ein Index für eine Tabelle mit Adressen kann beispielsweise ADRS_APK_IDX lauten, wobei "ADRS" angibt, dass sich dieser Index auf die Adressentabelle bezieht, "APK" die indizierte Spalte kennzeichnet und "IDX" kenntlich macht, dass es sich um einen Index handelt.
Wie für Tabellennamen gilt Folgendes für Indexnamen in Geodatabases:
- Sie müssen in der Datenbank eindeutig sein.
- Sie müssen mit einem Buchstaben beginnen.
- Sie dürfen keine Leerzeichen enthalten.
- Sie dürfen keine reservierten Wörter enthalten.
Für das Benennen eines Attributindex in einer File-Geodatabase gelten keine Beschränkungen.
In ArcGIS gilt eine Beschränkung von 16 Zeichen für die Länge von Attributindexnamen. Diese Beschränkung leitet sich von der kleinsten zulässigen Länge in unterstützten Datenbanken ab, damit die Verteilung und Freigabe von Daten innerhalb verschiedener Geodatabases möglich ist.
Eindeutige Indizes
Wenn Sie einen Index erstellen, verfügen Sie über eine Option, mit der Sie diesen als eindeutig festlegen können. Wählen Sie diese Option aus, wenn für das Attribut in jedem Datensatz Einzelwerte vorhanden sind. Dadurch werden Abfragen dieses Attributs beschleunigt, da die Datenbank die Suche nach dem Auffinden des ersten entsprechenden Wertes abbrechen kann.
Hinweis:
Sie können keine Feature-Class bearbeiten, die sich in einem Feature-Dataset mit einer anderen Feature-Class befindet, die über einen eindeutigen Index für ein benutzerdefiniertes Feld verfügt.
Hinweis:
Die Einstellung "Eindeutig" wird in File-Geodatabases nicht verwendet und muss daher nicht aktiviert werden.
Aufsteigende und absteigende Indizes
Wenn Sie einen Index erstellen, verfügen Sie über eine Option, mit der Sie diesen als aufsteigend oder (falls diese Option nicht aktiviert ist) als absteigend festlegen können. Ein aufsteigender Index wird in aufsteigender Reihenfolge verwaltet. Beispielsweise werden die Werte für die Städtenamen Athens, Berlin, London und Paris in dieser Reihenfolge als aufsteigender Index angezeigt, in einem absteigenden Index jedoch als Paris, London, Berlin und Athens.
In fast keinem Fall spielt die Reihenfolge, in der der Index verwaltet wird, überhaupt eine Rolle in Bezug auf die Abrufgeschwindigkeit, da Indizes bei den meisten Abfragen ebenso effektiv vorwärts wie rückwärts durchlaufen werden.
Hinweis:
Die Einstellung "Aufsteigend" wird in Oracle, SQL Server und File-Geodatabases nicht verwendet und muss daher nicht aktiviert werden.
Indizes für eine Spalte und für mehrere Spalten
Indizes mit mehreren Spalten werden in File-Geodatabases nicht unterstützt. Im Dialogfeld Eigenschaften können keine Indizes für mehrere Spalten angegeben werden. Mit dem Werkzeug Attributindex hinzufügen können Sie einen Index für mehrere Spalten angeben. Wenn Sie den erstellten Index im Dialogfeld Eigenschaften des Bereichs Katalog aufrufen, sieht er zwar wie ein Index für mehrere Spalten aus, tatsächlich wird jedoch für jedes Feld ein separater Index erstellt.
Indizes können in einer Geodatabase für eine Spalte oder mehrere Spalten erstellt werden. Indizes für mehrere Spalten sind hilfreich, wenn Sie in einer Abfrage häufig zwei oder drei Felder angeben. In diesem Fall kann ein Index für mehrere Spalten schnellere Abfragen als zwei oder drei separate Indizes ermöglichen, die für jeweils ein Feld festgelegt sind.
Die Reihenfolge, in der Felder in einem Index für mehrere Spalten aufgeführt werden, ist wichtig. In einem Index für mehrere Spalten, bei dem Spalte A vor Spalte B aufgeführt wird, wird die Suche zunächst anhand von Spalte A ausgeführt. Darüber hinaus ist ein solcher Index viel nützlicher für Abfragen, bei denen nur Spalte A durchsucht wird, als für Abfragen, bei denen nur Spalte B berücksichtigt wird.
Die Entscheidung, ob ein Index für mehrere Spalten oder ein Index für eine Spalte (bzw. eine Kombination aus beiden) erstellt werden soll, ist eine Frage des Abwägens, die selten eindeutig beantwortet werden kann. Häufig gibt es mehrere mögliche Lösungen. Wenn Sie beispielsweise gelegentlich nur Spalte A, gelegentlich nur Spalte B und manchmal beide Spalten abfragen, sind folgende Vorgehensweisen möglich:
- Erstellen Sie zwei separate Indizes für Spalte A und Spalte B.
- Erstellen Sie einen Index mit mehreren Spalten für Spalte A und Spalte B. Dieser Index ist typischerweise effizienter für Abfragen, bei denen beide Spalten durchsucht werden. Für Abfragen, bei denen lediglich Spalte A durchsucht wird, ist dieser Index langsamer als ein Index, der nur für Spalte A erstellt wurde. Dieser Index wäre nicht sehr nützlich für Abfragen, bei denen nur Spalte B durchsucht wird. Um dies zu kompensieren, könnten Sie einen zusätzlichen Index für Spalte B erstellen.
- Erstellen Sie alle drei Indizes: einen Index für Spalte A, einen für B und einen Index mit mehreren Spalten für A und B. Dies bietet sich an, wenn alle drei Abfragetypen häufig sind und die Tabelle viel häufiger abgefragt wird als aktualisiert.