Benutzer- und Referenzhandbuch

Die folgenden Regeln gelten, wenn Sie räumliche Abfragen mit räumlichen Prädikaten optimieren wollen:

Beispiele zur Nutzung des Index

Tabelle 4 zeigt richtige und falsche Beispiele zum Erstellen räumlicher Abfragen nur Nutzung des räumlichen Index.


Tabelle 4. Regeln zur Nutzung des Index
Räumliche Abfrage Regel verletzt

SELECT *
FROM customers c
WHERE db2gse.ST_Within(c.location,:BayArea)=1
In diesem Beispiel wurde keine Regel verletzt.

SELECT *
FROM customers c
WHERE db2gse.ST_Distance(c.location,:SanJose)<10
In diesem Beispiel wurde keine Regel verletzt.
SELECT *
FROM customers c
WHERE db2gse.ST_Length(c.location)>10
ST_Length ist kein räumliches Prädikat.
SELECT *
FROM customers c
WHERE 1=db2gse.ST_Within(c.location,:BayArea)
Das Prädikat muss auf der linken Seite des Vergleichs stehen.
SELECT *
FROM customers c
WHERE db2gse.ST_Within(c.location,:BayArea)=2
Bei Vergleichen auf Gleichheit ist die ganzzahlige Konstante 1 zu verwenden.
SELECT *
FROM customers c
WHERE db2gse.ST_Within(:SanJose,:BayArea)=1
In dem Prädikat muss eine räumliche Spalte als Suchziel verwendet werden, und es muss mit dieser Spalte ein räumlicher Index erstellt werden. (SanJose und BayArea sind keine räumlichen Spalten, daher kann ihnen kein räumlicher Index zugeordnet werden.)


[ Seitenanfang | Vorherige Seite | Nächste Seite ]