为什么我的ArcSDE数据重建索引和分析(Analye)后反而效率更慢

问题现象:

一般情况下,使用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
 -------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
-------------------------------------------------------------------------------------------------------

你可能感兴趣的:(oracle,数据库,schema,存储)