问题现象:
一般情况下,使用ArcGIS数据慢的时候,一般会建议用户重新创建一下空间索引,进行一下ArcGIS的分析功能,这种操作一般会提高ArcGIS查询和分析效率。但是在某些用户的环境下进行大比例尺下浏览地图效率低,速度慢。
影响条件:
ArcSDE: 所有版本,包括10,数据库:Oracle,所有支持的版本,存储方式:ST_GEOMETRY,并且对图层进行过信息统计(ST_GEOMETRY_INDEX含有统计信息)
原因:
包含统计信息后,Oracle的执行计划不准确,偏向于走全表扫描
解决过程:
1. 重建空间索引后不要再做分析了。
2. 如果已经做过分析了(可以通过查询ST_GEOMETRY_INDEX系统表进行确认),可以通过
在sqlplus中执行exec dbms_stats.delete_index_stats('SCHEMA','SPATIAL_INDEX_NAME')将
空间索引的统计信息删除掉。
怎么判断呢:因为这种情况不是所有人都能碰到,如果用户有以上的情况,可以确定自己的空间索引是否有效,如果有效,然后查看Oracle的Trace文件,到底进行比如移动是走全表扫描还是走空间索引,如果有空间索引但仍然有全表扫描的话,就可以删除统计信息。
以下为ArcGIS提供的Bug号:他们说已经在ArcGIS9.3.1 SP2解决了,其实没有解决。
Nimbus ID | NIM042325 |
---|---|
Submitted | Feb 10, 2009 12:40 PM |
Severity | High |
Applies To | ArcGIS |
Version Found | 9.3 SP1 |
Prog Language | N/A |
Server Platform | All |
Client Platform | All |
Database | Oracle |
Locale | N/A |
Status | Resolved |
Version Fixed | N/A |
SP Fixed | 9.3.1SP2 |
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
-------------------------------------------------------------------------------------------------------