oracle 创建空间索引


1. 首先进行查询,判断数据是否已经建立相应的空间元数据

select * from user_sdo_geom_metadata t where t.table_name like '%表名%';  

select * from user_ind_columns t where t.index_name='索引名称'; 

2. 然后就可以建立空间索引了,首先建立空间元数据,语句如下。

INSERT INTO mdsys.sdo_geom_metadata_table(sdo_owner,sdo_table_name,sdo_column_name,sdo_diminfo,sdo_srid)  
  VALUES ('表空间','表名', '空间字段名称',  
    MDSYS.SDO_DIM_ARRAY  
      (MDSYS.SDO_DIM_ELEMENT('X', -180.0, 180.0, 0.00005),  
       MDSYS.SDO_DIM_ELEMENT('Y', -90.0,90.0, 0.00005)  
     ),  
NULL);  

3. 创建索引

CREATE INDEX 索引名称 ON 表名 (字段名称) INDEXTYPE IS MDSYS.SPATIAL_INDEX;