Guide d'utilisation et de référence

Respectez les règles suivantes si vous voulez optimiser des requêtes spatiales à l'aide de prédicats spatiaux.

Exemples d'exploitation d'index

Le Tableau 4 indique les manières correcte et incorrecte de créer des requêtes spatiales dans le cadre de l'exploitation de l'index spatial.


Tableau 4. Règles d'exploitation des index
Requête spatiale Règle non respectée

SELECT *
FROM customers c
WHERE db2gse.ST_Within(c.location,:BayArea)=1
Toutes les conditions sont respectées dans cet exemple.

SELECT *
FROM customers c
WHERE db2gse.ST_Distance(c.location,:SanJose)<10
Toutes les conditions sont respectées dans cet exemple.
SELECT *
FROM customers c
WHERE db2gse.ST_Length(c.location)>10
ST_Length n'est pas un prédicat spatial.
SELECT *
FROM customers c
WHERE 1=db2gse.ST_Within(c.location,:BayArea)
Le prédicat doit figurer à gauche de la comparaison.
SELECT *
FROM customers c
WHERE db2gse.ST_Within(c.location,:BayArea)=2
Les comparaisons d'égalité doivent utiliser la constante entière 1.
SELECT *
FROM customers c
WHERE db2gse.ST_Within(:SanJose,:BayArea)=1
Dans le prédicat, une colonne spatiale doit être utilisée en tant que cible de la recherche et elle doit être dotée d'un index spatial. (SanJose et BayArea ne sont pas des colonnes spatiales et ne peuvent donc pas être associées à un index spatial.)


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]