IBM Db2 Spatial Extender stellt einen räumlichen Index mit einem dreistufigen Gitter bereit, damit Anwendungen die zweidimensionalen geographischen Daten in einer räumlichen Spalte abfragen und schnell alle Geometrien innerhalb einer vorgegebenen Ausdehnung identifizieren können.
Der zweidimensionale räumliche Index unterscheidet sich vom herkömmlichen hierarchischen B-Baum-Index von Db2. Der B-Baum-Index kann u. U. nicht auf eine räumliche Spalte angewendet werden, da die zweidimensionale räumliche Spalte die Struktur eines räumlichen Indexes erfordert. Aus demselben Grund können Sie einen räumlichen Index nicht auf eine nicht räumliche Spalte anwenden, und ein räumlicher Index kann nicht auf eine zusammengesetzte Spalte angewendet werden.
Daher beinhaltet die Syntax CREATE INDEX des räumlichen Indexes die zusätzliche Klausel USING, die Db2 anweist, den räumlichen Index von Spatial Extender und nicht den B-Baum-Index zu verwenden. Folgende vollständige Syntax wird verwendet:
CREATE INDEX <index_name>
ON <table> (<spatial column>)
USING db2gse.spatial_index (<grid level 1>, [grid level 2], [grid level 3])
Der Zusatz der Klausel USING unterscheidet den räumlichen Index vom B-Baum-Index. Der Schemaname "db2gse" muss den Erweiterungsnamen "spatial_index" angeben, da diese Anweisung nicht dem aktuellen Funktionspfad folgt.
Aufgrund der einfachen Struktur der Daten, die ein B-Baum indexieren soll, weist der Datenbankdesigner Db2 an, den Index in einer oder mehreren Tabellenspalten zu erstellen. Da räumliche Daten jedoch komplex sind, muss der Designer die relative Größenverteilung verstehen. Der Designer muss die optimale Größe und Anzahl der Gitterebenen des räumlichen Indexes bestimmen.
Die Gitterebenen ([Gitterebene 1], [Gitterebene 2], [Gitterebene 3]) werden durch Erhöhen der Zellengröße eingegeben. Daher muss auf der zweiten Ebene gegenüber der ersten und auf der dritten Ebene gegenüber der zweiten die Zellengröße jeweils zunehmen. Die erste Gitterebene ist obligatorisch, Sie können jedoch die zweite und dritte Ebene mit einem Nullwert (0) deaktivieren.
Weitere Informationen zu räumlichen Indizes finden Sie in der Db2-Dokumentation im IBM Knowledge Center.