Sql Server Spatial索引无法正常工作

sql-server indexing gis spatial

193 观看

1回复

11 作者的声誉

我正在使用SQL Server 2008空间数据,但是我遇到了一个奇怪的问题,即当我使用基于此表创建的视图查询时,为表创建的空间索引不起作用。以下是我使用的脚本:

 declare @Geometry1 geometry = geometry::STGeomFromText(
'POINT(937767.89433333278 -230404.864666667)', 102003)

exec sp_executesql 
N'SELECT shape FROM view WHERE (@Geometry1.STIntersects(SHAPE)=1);',
 N'@Geometry1 geometry', @Geometry1

我搜索了很多,并在http://www.sqlskills.com/blogs/bobb/how-to-ensure-your-spatial-index-is-being-used/找到了解决方法,但似乎这种解决方法只适用于查询的几何体是点类型,对于多边形,如下面的脚本:

declare @Geometry2 geometry = geometry::STGeomFromText(
'POLYGON((-2079214.0399 1392052.275,-2079214.0399 -1156112.025,
1981332.1069 -1156112.025,1981332.1069 1392052.275,
-2079214.0399 1392052.275))', 102003)

exec sp_executesql 
N'SELECT shape FROM view WHERE (@Geometry2.STIntersects(SHAPE)=1);',
 N'@Geometry2 geometry', @Geometry2

空间仍然不起作用。谁知道如何应对这种情况?似乎微软没有给出关于此的良好指示。任何回复将不胜感激。

作者: Billxu 的来源 发布者: 2013 年 11 月 4 日

回应 (1)


-1

994 作者的声誉

诊断存储过程sp_help_spatial_geography_index_xml 输出什么?

这是您可以用来了解地理空间索引如何使用的主要存储过程。

作者: John Zabroski 发布者: 14.11.2018 05:42
32x32