共用方式為


建立、修改及卸除空間索引

空間索引可以更有效率地對 或 geography 數據類型的數據行geometry執行特定作業(空間數據行)。 可以在空間資料行上指定一個以上的空間索引。 這對於類似在單一資料行上為不同鑲嵌式參數建立索引會很有用處。

建立空間索引有一些限制。 如需詳細資訊,請參閱本主題中的 空間索引的限制

注意

如需空間索引與分割區和檔案群組之關聯性的資訊,請參閱 CREATE SPATIAL INDEX (Transact-SQL)中的<備註>一節。

建立、修改和卸除空間索引

建立空間索引

使用 Transact-SQL 建立空間索引
CREATE SPATIAL INDEX (Transact-SQL)

使用 Management Studio 的 [新增索引] 對話方塊建立空間索引

若要在 Management Studio 中建立空間索引
  1. 在 [物件總管] 中,連接到 SQL Server Database Engine 的執行個體,然後展開該執行個體。

  2. 展開 [資料庫],再展開含有指定索引之資料表所在的資料庫,然後展開 [資料表]。

  3. 展開您想要建立索引的資料表。

  4. 以滑鼠右鍵按一下 [索引],然後選取 [新增索引]。

  5. 在 [索引名稱] 欄位中,輸入索引的名稱。

  6. 在 [索引類型] 下拉式清單中,選取 [空間]。

  7. 若要指定您要建立索引的空間資料行,請按一下 [加入]。

  8. 在 [<數據表名稱>選取數據行] 對話框中,選取類型的geometry數據行,或geography選取對應的複選框。 任何其他的空間資料行就會變成無法編輯。 如果您想要選取不同的空間資料行,就必須先清除目前選取的資料行。 完成後,請按一下 [確定]

  9. 在 [索引鍵資料行] 方格中確認您的資料行選取。

  10. 在 [索引屬性] 對話方塊的 [選取頁面] 窗格中,按一下 [空間]。

  11. 在 [空間] 頁面上,指定您想要用於索引之空間屬性的值。

    在類型資料行上 geometry 建立索引時,您必須指定 周框方塊的 (X-minY-minX-maxY-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 說明

  12. 按一下 [確定]。

注意

若要在相同或不同空間資料行上建立另一個空間索引,請重複上述步驟。

使用 Management Studio 的資料表設計工具建立空間索引

在資料表設計工具中建立空間索引
  1. 在物件總管中,以滑鼠右鍵按一下要建立空間索引的資料表,然後按一下 [設計]。

    資料表會在 [資料表設計工具] 中開啟。

  2. geometry選取索引的 或 geography 數據行。

  3. 從 [資料表設計工具] 功能表中,按一下 [空間索引]。

  4. 在 [空間索引] 對話方塊中,按一下 [加入]。

  5. 在 [Selected Spatial Index (選取的空間索引)] 清單中選取新的索引,並在右邊方格中設定此空間索引的屬性。 如需屬性的資訊,請參閱空間索引對話方塊 (Visual Database Tools)

改變空間索引

卸除空間索引

使用 Transact-SQL 卸除空間索引
DROP INDEX (Transact-SQL)

若要使用 Management Studio 卸除索引
刪除索引

使用 Management Studio 的資料表設計工具卸除空間索引

在資料表設計工具中卸除空間索引
  1. 在物件總管中,以滑鼠右鍵按一下具有您要刪除之空間索引的資料表,然後按一下 [設計]。

    資料表會在 [資料表設計工具] 中開啟。

  2. 從 [資料表設計工具] 功能表中,按一下 [空間索引]。

    [空間索引] 對話方塊隨即開啟。

  3. 在 [Selected Spatial Index (選取的空間索引)] 資料行中,按一下要刪除的索引。

  4. 按一下 [刪除]

空間索引的限制

空間索引只能在 或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 空間鑲嵌。

另請參閱

空間索引概觀