2011-08-23 28 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就足夠了。