2011-08-23 43 views
1

SQL Server中的我的空间地理索引具有以下级别定义。如何让我的空间索引使用大于HIGH的Level?

高低低低

的问题是,所有我的点是在一个城市,因此所有的点是在层1的单电池作为结果,主过滤器正在寻找在所有点处这意味着我的指数效率是0%。我意识到HIGH网格意味着有256个单元。我该如何使用512个单元格或1024个单元格? 256对我来说是不够的。

Take a look at this page for the different levels.

有谁知道如何获得比高更高的价值?

+0

您是否尝试更改CELLS_PER_OBJECT参数? –

+0

@Pavel Nefyodov这只适用于我理解的多边形对象,而不是点。 –

+1

如果所有点都在一个小区域内,那么使用GEOMETRY数据类型,指定城市周围的边界区域,选择的投影系统会更好吗? – CatchingMonkey

回答

0

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

没有边界框:问题是SQL Server使用子网格化方法。 256个单元一起必须跨越整个空间!这意味着您的HLLL限制了您使用的单元格数量。这样考虑:LLL部分为每个初始单元格创建4096个单元格。每个256个单元必须具有相同的大小。这意味着你的高级别细胞分裂得太大了!相反,如果放入边界框,覆盖的总面积将减小,并且4096个网格将更小,因此将其分割为256就足够了。