MS SQL Server 2008 空间索引 - 它有效吗?
-
21-08-2019 - |
题
有没有人尝试过使用它并且可以说它是否实施得很好?
-- Assaf(过去几周他对 MySQL 对 OpenGIS 功能的实现不足感到越来越沮丧,现在正在考虑切换到 MSSQL)
解决方案
是,他们的工作。
我刚切换使用ISpatialFilter到返回相同的数据一个SqlCommand基于ESRI-ArcObject查询一个我的类。这是一个近似搜索(返回1000英尺的点x的范围内的任何记录)。
起初,ESRI查询仍然较快,但制作粗糙,这是由于在那里,这是非常ineffecient(我还在学习如何使用空间功能SQLSVR2008)条款。
一些调整之后,我的SQL方法是通过多比ESRI方法更快,但是不行。然后,我抬高我的搜索距离可达10000英尺,然后我看到的差异。在SQL Server 2008方法是快得多。
(ESRI)搜索附近的顾客经过时间(秒):1.503 (SQL2008)查询附近的顾客经过时间(秒):0.925
虽然速度差不具有与索引做的,但是具有ESRI-的ArcObjects。在我的ESRI方法,我得到我的距离,X,和IProximityOperator和IPOINT年。在SQL2008的方法,我让数据库完成所有的工作:SHAPE.STX为X,SHAPE.STY为Y,SHAPE.STDistance(但ArcObject开发者都知道有关的开销)。
我印象深刻为止。
其他提示
是的,它有效,我这里有一些示例代码 SQL Server 2008 使用地理数据类型的邻近搜索
是。他们得到正确实施。您还可以 PostgreSQL的PostGIS的作为一个选项,的 Oracle空间。 Informix和DB2也有一个空间类型的实施方式。
不隶属于 StackOverflow