1.说明
Arcgis实现矢量数据入库的方式很多,FeatureClassToFeatureClass,Append,ObjectLoader诸如此类,详细情况对比可参考:【ArcGIS Engine中导入数据的几种方式及其效率对比】。由于需求上要求指定图层和字段入库,例如:DLTB层入到XZQ层,或者XZQDM字段入到TBBH字段,所以选择了Append和ObjectLoader进行对比,主要比较的还是入库的速度和稳定性。
2.结果
- 入库从gdb入到sde
- 图斑记录151067
- 入库前sde目标库无数据
次数 | Append | ObjectLoader |
第一次 | 5分45秒373毫秒 | 5分12秒379毫秒 |
第二次 | 2分37秒475毫秒 | 5分4秒274毫秒 |
第三次 | 2分20秒769毫秒 | 4分59秒932毫秒 |
第四次 | 2分42秒441毫秒 | 5分37秒808毫秒 |
3.总结
- 显然Append的平均速度要快于ObjectLoader
- Append入库时会进行锁表,ObjectLoader入库时不锁表,可以进行多线程入库(虽然arcgis对于多线程的支持不好,几乎不支持),但即便是多线程,在入库的速度上也和Append单线程差不多,猜测ObjectLoader内部进行线程同步了,暂时无法证实,只是从多次实验的结果上得出的结论。