FAQ: 将Oracle LONG RAW转成BLOB版本调和的性能会有所提升吗?
文章编号 : 33729
软件: ArcSDE 9.0, 9.1, 9.2, 9.3, 9.3.1 ArcGIS - ArcEditor 9.0, 9.1, 9.2, 9.3, 9.3.1
操作系统: N/A
软件: ArcSDE 9.0, 9.1, 9.2, 9.3, 9.3.1 ArcGIS - ArcEditor 9.0, 9.1, 9.2, 9.3, 9.3.1
操作系统: N/A
1 个回复
易智瑞技术支持
赞同来自:
回答: 是的,将Oracle LONG RAW转成BLOB版本调和的性能会有所提升。ArcGIS调和过程是把要进行调和的版本中的插入和更新的对象全部拷贝到调和的目标表的状态表中。
当对象类包含用Oracle LONG RAW存储的二进制属性时,如:注记类的元素属性,每个插入或更新的要素的二进制LONG RAW存储的属性必须在目标状态中单个更新。这是一个单独的结构化查询语言(SQL)语句。根据需要更新或插入的要素的数量,这些要素都包含用LONG RAW二进制存储的属性,后台执行上述的结构化查询语句,这将影响调和所用的时间。
如:捕捉一个Oracle后台执行一个注记类被调和的执行轨迹,Oracle为每个插入或更新的要素都执行了下面的这些操作。
UPDATE TOMB.A2049 SET ELEMENT = :1 WHERE OBJECTID = :sde_rowid AND SDE_STATE_ID = :state_id call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 1 0.00 0.00 0 0 0 0 Execute 3016 19.39 33.28 0 8116484 26130 3016 Fetch 0 0.00 0.00 0 0 0 0 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 3017 19.39 33.28 0 8116484 26130 3016 根据上面的数据,我们可以看到,更新表(TOMB.A2049)被更新了3016次,而在目标表的状态表中设置元素值的这个过程需要33.28秒。
为了提升调和的性能,可以将Oracle LONG RAW 转换成 Oracle binary large object (BLOB) ,这使ArcGIS在调和时不再需要对每个要素进行更新。与以前的为每个要素单独执行从源表到目标表的状态表,转换后ArcGIS可以一次通过INSET来完成。
想要将Oracle LONG RAW 转换成 Oracle binary large object (BLOB) ,可以参考ArcGIS Server帮助中的"Migrating Oracle data from one storage type to another"部分。
创建时间:2007-09-06
最近更新: 2011-08-30
【原文链接】
http://support.esrichina.com.c ... .html
要回复问题请先登录或注册