Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Sélection d'un bon index spatial SQL Server 2008 avec de grands polygones

Dans votre requête d'index, vous utilisez :

CREATE SPATIAL INDEX [contasplit_sidx] ON [dbo].[ContASplit] 
(
    [geom]
)USING  GEOMETRY_GRID 
WITH (
BOUNDING_BOX =(-90, -180, 90, 180),
...

Le BOUNDING_BOX correspond donc à :

xmin = -90
ymin = -180
xmax = 90
ymax = 180
  • La longitude (-180 à 180 - désignant l'est/l'ouest du méridien) doit correspondre à X
  • La latitude (-90 à 90 - désignant la distance au nord ou au sud de l'équateur) doit correspondre à Y

Donc, pour créer la BOUNDING_BOX pour le monde, vous devez utiliser :

CREATE SPATIAL INDEX [contasplit_sidx] ON [dbo].[ContASplit] 
(
    [geom]
)USING  GEOMETRY_GRID 
WITH (
BOUNDING_BOX =(-180, -90, 180, 90),
...

Cela devrait créer un index qui correspond à vos données et signifie que toutes vos fonctionnalités sont couvertes par l'index.