Räumliche Indizes und "ST_Geometry"

Räumliche Indizes, die mit "ST_Geometry" verwendet werden, werden abhängig vom DBMS unterschiedlich implementiert. Das Modul "IBM Informix Spatial DataBlade" und die "ST_Geometry"-Implementierung in PostgreSQL verwenden einen R-Baum-Index zum Indizieren räumlicher Daten. "ST_Geometry" in Oracle und DB2 verwendet ein räumliches Indexgitter.

Sie können räumliche Indizes auf unterschiedliche Arten erstellen:

Wenn Sie räumliche Beziehungsabfragen für Tabellen ausgeben, die "ST_Geometry"-Spalten enthalten, nutzen diese einen räumlichen Index zum Beschleunigen des Abfrageprozesses nur, 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 Geometrieindex 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 auf der 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 Kapitel 51 der PostgreSQL 8.3-Dokumentation.

IBM DB2 und Informix

Weitere Informationen zu räumlichen Indizes in DB2 finden Sie unter Von DB2 Spatial Extender generierte räumliche Indizes. Weitere Informationen zu räumlichen Indizes in Informix finden Sie unter Räumliche Indizes in Geodatabases in Informix.

Verwandte Themen


3/6/2012