如何使空间索引使用大于HIGH的级别?

时间:2011-08-23 16:29:42

标签: sql-server tsql spatial spatial-index

我在SQL Server中的空间地理索引具有以下级别定义。

HIGH LOW LOW LOW

问题在于我的所有点都在一个城市中,因此我的所有点都在第1层的单个单元格中。因此,主过滤器会查看所有点,这意味着我的索引效率为0%。我意识到HIGH网格意味着有256个单元格。我该如何使用512个单元格或1024个单元格? 256对我来说还不够。

Take a look at this page for the different levels.

有谁知道如何获得高于HIGH的值?

1 个答案:

答案 0 :(得分:0)

您需要使用边界框(有关边界框的信息,请参阅:http://technet.microsoft.com/en-us/library/bb934196(v=sql.105).aspx)。

没有边界框:问题是SQL Server使用子网格方法。 256个单元一起必须跨越整个空间!这意味着HLLL限制了您使用的单元格数。以这种方式思考:LLL部分为每个初始单元创建4096个单元。每个256个单元的大小必须相同。这意味着你的高级单元格正在分割太大的区域!

相反,如果你放入一个边界框,覆盖的总面积将减少,4096网格将更小,因此将其分成256就足够了。