创建空间数据类型表
CREATE TABLE GeometryTest --创建测试表
(
ID int IDENTITY PRIMARY KEY,
GeometryValue geometry NOT NULL
)
CREATE TABLE GeographyTest
(
ID int IDENTITY PRIMARY KEY,
GeographyValue geography NOT NULL
)
创建Geometry列的索引
CREATE SPATIAL INDEX SIndx_SpatialTable_geometry --创建空间索引
ON GeometryTest(GeometryValue) --表名和列名
USING GEOMETRY_GRID
WITH (
BOUNDING_BOX = ( 0, 0, 500, 200 ) , --边界框
GRIDS = (LOW, LOW, MEDIUM, HIGH), --网格密度
CELLS_PER_OBJECT = 64, --分割成64个单元格
PAD_INDEX = ON --设置创建索引期间中间级别页中可用空间的百分比
)
创建Geography列的索引
CREATE SPATIAL INDEX SIndx_SpatialTable_geography
ON GeographyTest(GeographyValue)
USING GEOGRAPHY_GRID
WITH (
GRIDS = (MEDIUM, LOW, MEDIUM, HIGH ), --网格密度
CELLS_PER_OBJECT = 64, --分割成64个单元格
PAD_INDEX = ON ); --设置创建索引期间中间级别页中可用空间的百分比
--
--15.4.4节示例
--
禁用索引
ALTER INDEX [SIndx_SpatialTable_geometry]
ON [dbo].[GeometryTest]
DISABLE --禁用
修改空间索引
CREATE SPATIAL INDEX SIndx_SpatialTable_geometry
ON GeometryTest(GeometryValue)
USING GEOMETRY_GRID
WITH (
BOUNDING_BOX = ( 0, 0, 500, 400 ) ,
GRIDS = (LOW, LOW, MEDIUM, HIGH),
CELLS_PER_OBJECT = 64,
PAD_INDEX = ON ,
DROP_EXISTING = ON --该选项指定如果存在索引,则删除索引重新创建
)
DROP INDEX spatial_index_name ON spatial_table_name;
DROP INDEX SIndx_SpatialTable_geometry ON dbo.GeometryTest