Räumliche Indizes, die mit "ST_Geometry" verwendet werden, werden abhängig vom Datenbankmanagementsystem unterschiedlich implementiert. "ST_Geometry" in Oracle und IBM Db2 verwendet ein räumliches Indexgitter. Das Modul "IBM Informix Spatial DataBlade", die ST_Geometry-Implementierung in PostgreSQL und SQLite verwenden einen R-Baum-Index für die Indizierung räumlicher Daten. In SQLite ist der R-Baum-Index eine virtuelle Tabelle.
Sie können räumliche Indizes wie folgt erstellen:
- Für Indexgitter können Sie in ArcCatalog im Dialogfeld Feature-Class-Eigenschaften auf der Registerkarte "Indizes" auf Hinzufügen klicken. Weitere Informationen finden Sie unter Erneutes Erstellen eines räumlichen Indexes.
- Verwenden Sie SQL.
Beachten Sie bei der Ausgabe räumlicher Beziehungsabfragen für Tabellen, die "ST_Geometry"-Spalten enthalten, dass diese nur dann einen räumlichen Index zum Beschleunigen des Abfrageprozesses nutzen, wenn Sie bestimmte Funktionen für räumliche Beziehungen ausführen. Diese sind unter Wann werden räumliche Indizes verwendet? aufgeführt.
Oracle
Feature-Classes, die ST_Geometry-Speicher verwenden, nutzen eine separate Tabelle zum Speichern von Informationen für den räumlichen Index. Der Name der räumlichen Indextabelle lautet "S<n>_IDX$", wobei "<n>" dem Wert des Geometrieindexes für die Tabelle entspricht. Der Geometrieindexwert wird in der Geodatabase-Systemtabelle "SDE.ST_GEOMETRY_COLUMNS" gespeichert. Die räumliche Indextabelle wird als eine Index Organized Table (IOT) in Oracle erstellt. Der im Attribut "ST_Geometry" angegebene räumliche Index wird in Oracle Enterprise Manager als "A<n>_IX1" angezeigt. Der Wert "<n>" entspricht dem LAYER_ID-Wert in der Geodatabase-Systemtabelle "LAYERS".
Es werden zwei zusätzliche Indizes für die Tabelle "S<n>_IDX$ table" erstellt: "S<n>$_IX1" und "S<n>$_IX2". Sie können angeben, wie diese Indizes im Datenbankmanagementsystem gespeichert werden, indem Sie unter dem Konfigurationsschlüsselwort "DBTUNE", das Sie beim Erstellen einer Feature-Class angeben, den Parameter "S_STORAGE" ändern.
Wenn Sie partitionierte Business-Tabellen erstellen, die eine ST_Geometry-Spalte enthalten, muss der räumliche Index ebenfalls partitioniert werden. Es gibt zwei Partitionierungsmethoden: global und lokal. Standardmäßig werden für partitionierte Business-Tabellen globale partitionierte Indizes erstellt. Um einen lokalen partitionierten Index zu erstellen, müssen Sie das Schlüsselwort "LOCAL" am Ende der CREATE INDEX-Anweisung hinzufügen. Damit ArcGIS das Schlüsselwort "LOCAL" am Ende der CREATE INDEX-Anweisung für den räumlichen Index hinzufügt, legen Sie den Parameter "ST_INDEX_PARTITION_LOCAL" in der Liste des Schlüsselworts "DEFAULTS" auf "TRUE" fest.
PostgreSQL
In PostgreSQL wird der R-Baum-Index mit der GiST-Indexinfrastruktur (Generalized Search Tree) implementiert. Informationen zur GiST-Indizierung finden Sie in der PostgreSQL-Dokumentation.
SQLite
Der räumliche Index in SQLite ist ein Tabellensatz, der als R-Baum-Index verwendet wird.
Db2 und Informix
Weitere Informationen zu räumlichen Indizes in Db2 und Informix finden Sie in der IBM-Dokumentation.