Guida di riferimento per l'utente

Applicare le seguenti regole se si desidera ottimizzare le interrogazioni spaziali che utilizzano i predicati spaziali:

Esempi di impostazione dell'indice

La Tabella 4 indica i metodi di creazione delle interrogazioni spaziali corretti e quelli non validi per l'impostazione dell'indice spaziale.


Tabella 4. Regole per l'impostazione dell'indice
Interrogazione spaziale Regola violata

SELECT *
FROM customers c
WHERE db2gse.ST_Within(c.location,:BayArea)=1

Nessuna condizione è stata violata in questo esempio.

SELECT *
FROM customers c
WHERE db2gse.ST_Distance(c.location,:SanJose)<10

Nessuna condizione è stata violata in questo esempio.
SELECT *
FROM customers c
WHERE db2gse.ST_Length(c.location)>10

Il predicato deve essere utilizzato nella clausola WHERE. (ST_Length è una funzione spaziale, ma non un predicato.)
SELECT *
FROM customers c
WHERE 1=db2gse.ST_Within(c.location,:BayArea)

Il predicato deve trovarsi nella parte sinistra del confronto.
SELECT *
FROM customers c
WHERE db2gse.ST_Within(c.location,:BayArea)=2

I confronti di uguaglianza devono utilizzare la costante integer 1.
SELECT *
FROM customers c
WHERE db2gse.ST_Within(:SanJose,:BayArea)=1

Il predicato deve presentare una colonna spaziale utilizzata come destinazione di ricerca e un indice spaziale creato in questa colonna. (SanJose e BayArea non sono colonne spaziali e quindi non possono essere associati a un indice spaziale.)


[ Inizio pagina | Pagina precedente | Pagina successiva | Indice | Indice analitico ]