建立、修改及卸除空間索引
空間索引可以更有效率地對 或 geography
數據類型的數據行geometry
執行特定作業(空間數據行)。 可以在空間資料行上指定一個以上的空間索引。 這對於類似在單一資料行上為不同鑲嵌式參數建立索引會很有用處。
建立空間索引有一些限制。 如需詳細資訊,請參閱本主題中的 空間索引的限制 。
注意
如需空間索引與分割區和檔案群組之關聯性的資訊,請參閱 CREATE SPATIAL INDEX (Transact-SQL)中的<備註>一節。
建立、修改和卸除空間索引
建立空間索引
使用 Transact-SQL 建立空間索引
CREATE SPATIAL INDEX (Transact-SQL)
使用 Management Studio 的 [新增索引] 對話方塊建立空間索引
若要在 Management Studio 中建立空間索引
在 [物件總管] 中,連接到 SQL Server Database Engine 的執行個體,然後展開該執行個體。
展開 [資料庫],再展開含有指定索引之資料表所在的資料庫,然後展開 [資料表]。
展開您想要建立索引的資料表。
以滑鼠右鍵按一下 [索引],然後選取 [新增索引]。
在 [索引名稱] 欄位中,輸入索引的名稱。
在 [索引類型] 下拉式清單中,選取 [空間]。
若要指定您要建立索引的空間資料行,請按一下 [加入]。
在 [從<數據表名稱>選取數據行] 對話框中,選取類型的
geometry
數據行,或geography
選取對應的複選框。 任何其他的空間資料行就會變成無法編輯。 如果您想要選取不同的空間資料行,就必須先清除目前選取的資料行。 完成後,請按一下 [確定] 。在 [索引鍵資料行] 方格中確認您的資料行選取。
在 [索引屬性] 對話方塊的 [選取頁面] 窗格中,按一下 [空間]。
在 [空間] 頁面上,指定您想要用於索引之空間屬性的值。
在類型資料行上
geometry
建立索引時,您必須指定 周框方塊的 (X-min
、Y-min
) 和 (X-max
,Y-max
) 座標。 對於類型數據行上的geography
索引,周框方塊欄位會在您指定 Geography 方格 鑲嵌配置之後變成唯讀,因為 geography 方格鑲嵌不會使用周框方塊。您可以選擇性地針對 [每一物件的資料格] 欄位及鑲嵌式配置的任何方格密度等級指定非預設值。 每個對象的默認單元格數目是 SQL Server 2008 的 16 或 SQL Server 2012 (11.x) 或更高版本的 8 個,而 SQL Server 2008 的預設方格密度為 Medium 。
您可以針對 SQL Server 中的鑲嵌式配置選取 GEOMETRY_AUTO_GRID 或 GEOGRAPHY_AUTO_GRID。 當您選取 GEOMETRY_AUTO_GRID 或 GEOGRAPHY_AUTO_GRID 時,就會停用 [層級 1]、[層級 2]、[層級 3] 和 [層級 4] 方格密度選項。
如需這些屬性的詳細資訊,請參閱 索引屬性 F1 說明。
按一下 [確定]。
注意
若要在相同或不同空間資料行上建立另一個空間索引,請重複上述步驟。
使用 Management Studio 的資料表設計工具建立空間索引
在資料表設計工具中建立空間索引
在物件總管中,以滑鼠右鍵按一下要建立空間索引的資料表,然後按一下 [設計]。
資料表會在 [資料表設計工具] 中開啟。
geometry
選取索引的 或geography
數據行。從 [資料表設計工具] 功能表中,按一下 [空間索引]。
在 [空間索引] 對話方塊中,按一下 [加入]。
在 [Selected Spatial Index (選取的空間索引)] 清單中選取新的索引,並在右邊方格中設定此空間索引的屬性。 如需屬性的資訊,請參閱空間索引對話方塊 (Visual Database Tools)。
改變空間索引
-
重要
若要變更空間索引特定的選項 (例如 BOUNDING_BOX 或 GRID),您可以使用指定 DROP_EXISTING = ON 的 CREATE SPATIAL INDEX 陳述式,或是卸除此空間索引並建立新的索引。 如需範例,請參閱 CREATE SPATIAL INDEX (Transact-SQL)。
卸除空間索引
使用 Transact-SQL 卸除空間索引
DROP INDEX (Transact-SQL)
若要使用 Management Studio 卸除索引
刪除索引
使用 Management Studio 的資料表設計工具卸除空間索引
在資料表設計工具中卸除空間索引
在物件總管中,以滑鼠右鍵按一下具有您要刪除之空間索引的資料表,然後按一下 [設計]。
資料表會在 [資料表設計工具] 中開啟。
從 [資料表設計工具] 功能表中,按一下 [空間索引]。
[空間索引] 對話方塊隨即開啟。
在 [Selected Spatial Index (選取的空間索引)] 資料行中,按一下要刪除的索引。
按一下 [刪除] 。
空間索引的限制
空間索引只能在 或geography
類型的geometry
數據行上建立。
資料表和檢視表限制
空間索引只能定義在具有主索引鍵的資料表上。 資料表上主索引鍵資料行的最大數目是 15。
索引鍵記錄大小的最大值是 895 個位元組。 較大的值會引發錯誤。
注意
當空間索引定義於資料表上時,將無法變更主索引鍵中繼資料。
不能在索引檢視表上指定空間索引。
多個空間索引的限制
在支援之資料表的任何空間資料行上最多可以建立 249 個空間索引。 例如,要針對單一資料行中的不同鑲嵌式參數建立索引時,在相同空間資料行上建立一個以上的空間索引可能會很有用處。
您一次只能建立一個空間索引。
空間索引和處理序平行處理原則
索引建立可以使用可用的處理序平行處理原則。
版本限制
SQL Server 2012 (11.x) 中導入的空間鑲嵌無法復寫到 SQL Server 2008 R2 或 SQL Server 2008。 當與 SQL Server 2008 R2 或 SQL Server 2008 資料庫回溯相容性時,您必須針對空間索引使用 SQL Server 2008 R2 或 SQL Server 2008 空間鑲嵌。