Mit der Standard- oder Advanced-Lizenz verfügbar.
Attributindizes können Attributabfragen für Feature-Classes und Tabellen 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 Feature-Class oder Tabelle Daten enthält, erstellen Sie Attributindizes für Felder, die Sie regelmäßig abfragen. 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. Bei jeder Änderung der Feature-Class muss ArcGIS die Indizes ebenfalls aktualisieren. Wenn Sie häufig ein bestimmtes Feld bearbeiten, erstellen Sie nach Möglichkeit keinen Index dafür. 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 Geodatabase erarbeiten, finden Sie in der Dokumentation zum jeweiligen DBMS ausführliche Informationen.
Erstellen von Attributindizes unter Verwendung der Geoverarbeitung
Das Toolset "Indizes" in der Toolbox "Data Management" 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 attributierten Beziehungsklasse. Diese Option ist mit jeder ArcGIS-Lizenz verfügbar, kann jedoch nur mit Enterprise-Geodatabases verwendet werden, wenn Sie über eine ArcGIS for Desktop Standard- oder Advanced-Lizenz verfügen.
Das Werkzeug Attributindex entfernen ermöglicht das Entfernen eines Index mit einer oder mehreren Spalten aus einer vorhandenen Tabelle, Feature-Class oder attributierten 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.
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.
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. Die Städtenamen Athen, Berlin, London und Paris werden in einem aufsteigenden Index beispielsweise in dieser Reihenfolge aufgeführt. In einem absteigenden Index würden sie hingegen als Paris, London, Berlin und Athen aufgeführt.
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.
Indizes für eine Spalte und für mehrere Spalten
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 für mehrere Spalten für Spalten A und 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 wenig hilfreich für Abfragen, bei denen nur Spalte B abgefragt wird. Um diesen Nachteil auszugleichen, können Sie einen zusätzlichen Index für Spalte B erstellen.
- Erstellen Sie alle drei Indizes: einen Index für Spalte A, einen für Spalte B und einen Index für mehrere Spalten für Spalten A und B. Dies wäre nützlich, wenn alle drei Abfragetypen oft ausgeführt werden und die Tabelle häufiger abgefragt als aktualisiert wird.