我有一张表需要记录整个世界的地理点(长,纬度)。输入数据是传统的纵向和纬度(-180,-90,180,90)。
我创建了一个地理列,并希望对其进行索引。但是,有许多选项,MSDN并未指出最佳做法。我有以下问题:
答案 0 :(得分:1)
1。)和2.)要记住的重要一点是,相同的网格不仅用于细分创建索引的列中的数据,而且还用于查询参数的任何内容用于测试该数据。 请考虑以下查询:
SELECT * FROM表WHERE GeomColumn.STIntersects(@ MyPoly)= 1
假设您已在GeomColumn上创建了空间索引,则相同的网格将应用于@MyPoly,以便执行结果的主过滤器。因此,您不仅可以根据表中的内容选择网格设置,还可以选择针对该数据运行的查询样本。在实践中,根据您的数据,“最佳”是非常主观的。我总是建议你从MEDIUM,MEDIUM,MEDIUM,MEDIUM开始,然后尝试从那里进行调整,看看你是否根据经验测试得到了更好的表现。
3。)和4.)您没有为地理数据类型设置边界框 - 隐式假设所有地理索引都覆盖整个地球。这是几何通常是比地理更快的数据类型的原因之一,因为几何索引的单元格可以在有限的地理区域内提供更高的分辨率。
答案 1 :(得分:0)
我找到了3,4的答案:SRID 4326是(-180.0000,-90.0000,180.0000,90.0000)