Räumliche Indizes, die mit "ST_Geometry" verwendet werden, werden abhängig vom DBMS unterschiedlich implementiert. "ST_Geometry" in Oracle und 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 Festlegen von räumlichen Indizes.
- Verwenden von SQL. Weitere Informationen finden Sie unter Erstellen von räumlichen Indizes für Tabellen mit einer ST_Geometry-Spalte.
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
Eine mit dem Speichertyp "ST_Geometry" erstellte Feature-Class mit einem räumlichen Index erzeugt eine zusätzliche Tabelle in der Oracle-Datenbank. Der Name der räumlichen Indextabelle lautet "S<n>_IDX$", wobei "<n>" dem Wert des Geometrieindexes für die Tabelle entspricht. Den Wert erhalten Sie, indem Sie die Tabelle "SDE.ST_GEOMETRY_COLUMNS" abfragen. Die räumliche Indextabelle wird als eine Oracle Indexed Organized Table (IOT) erstellt. Der im Attribut "ST_Geometry" angegebene räumliche Index wird in Enterprise Manager als "A<n>_IX1" angezeigt. Der Wert von "<n>" entspricht dem LAYER_ID-Wert in der Tabelle "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 DBMS 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.
IBM DB2 und Informix
Weitere Informationen zu räumlichen Indizes in DB2 und Informix finden Sie in der IBM-Dokumentation.