使用 ST_Geometry,通过减少索引块的读取使用空间索引 (ST_Spatial_Index) 的每个空间查询时提高查询性能。减少为结构化查询语言 (SQL) 语句的逻辑或物理 I/O 操作提高了查询时间并提高了服务器,提供更多的可扩展性上的资源。
Oracle 命令 ALTER TABLE <table_name> 收缩空间紧凑级联减少了块存储表或索引的压缩,尽量少块中的数据所需的数量。该命令需要收缩的段驻留在使用自动段管理的表空间。
1:获得指定要素类的的空间索引信息
- SQL> SELECT 'S'||index_id||'_IDX$' AS IDX FROM sde.st_geometry_index where table_name='POINT';
- IDX
- ----------------------------------------------
- S10_IDX$
2:查看当时的索引块信息
- SQL> select index_name,leaf_blocks from user_indexes where table_name='S10_IDX$';
- INDEX_NAME LEAF_BLOCKS
- ------------------------------ -----------
- S10$_IX1 3249
- S10$_IX2 2081
3:Shrink空间索引块
- SQL> alter table S10_IDX$ SHRINK SPACE COMPACT CASCADE;
- 表已更改。
4:对Shrink过的空间索引进行重新统计分析也可以使用ArcGIS的分析功能
- SQL> exec dbms_stats.gather_table_stats('TEST','POINT');
- PL/SQL 过程已成功完成。
5:再次查看索引快信息进行对比
- SQL> select index_name,leaf_blocks from user_indexes where table_name='S10_IDX$';
- INDEX_NAME LEAF_BLOCKS
- ------------------------------ -----------
- S10$_IX1 1655
- S10$_IX2 2081