Lorsque vous créez un index spatial, vous devez fournir les informations suivantes :
- Nom de l'index
- Nom de la table contenant la colonne spatiale sur laquelle l'index doit être défini
- Le nom de la colonne spatiale sur laquelle l'index doit être défini
- Les tailles de carroyage (nécessaires uniquement pour les bases de données qui utilisent une valeur de carroyage d’index, telles que les bases de données Oracle et Db2)
Les éléments suivants illustrent la création d'un index spatial sur une colonne ST_Geometry dans chacune des bases de données prises en charge.
- Ouvrez un éditeur SQL et connectez-vous à votre base de données.
- Pour Oracle, PostgreSQL, Db2 et Informix, utilisez une instruction CREATE INDEX pour créer l’index spatial. Pour SQLite, utilisez la fonction CreateSpatialIndex.
-
Oracle
CREATE INDEX sa_idx ON sensitive_areas(zone) INDEXTYPE IS sde.st_spatial_index PARAMETERS('st_grids=1,3,0 st_srid=4326'); CREATE INDEX hs_idx ON hazardous_sites(location) INDEXTYPE IS sde.st_spatial_index PARAMETERS('st_grids=1,0,0 st_srid=4326');
-
PostgreSQL
CREATE INDEX sa_idx ON sensitive_areas USING gist(zone st_geometry_ops); CREATE INDEX hs_idx ON hazardous_sites USING gist(location st_geometry_ops);
- Db2
CREATE INDEX sa_idx ON sensitive_areas(zone) EXTEND USING db2gse.spatial_index (1.0, 3.0, 0.0) CREATE INDEX hs_idx ON hazardous_sites(location) EXTEND USING db2gse.spatial_index (1.0, 0.0, 0.0)
-
Informix
CREATE INDEX sa_ix ON sensitive_areas (zone ST_Geometry_ops) USING RTREE; CREATE INDEX hs_ix ON hazardous_sites (location ST_Geometry_ops) USING RTREE;
- SQLite
SELECT CreateSpatialIndex('mydatabase','sensitive_areas','zone','rtreexy'); SELECT CreateSpatialIndex('mydatabase','hazardous_sites','location','rtreexy');
-
Oracle