一、
幾種刪除方法**
1.
查詢結果中刪除
private void delete1(ifeatureclass pfeatureclass)
system.runtime.interopservices.marshal.releasecomobject(pqueryfilter); }
2.
更新游標刪除
private void delete2(ifeatureclass pfeatureclass)
system.runtime.interopservices.marshal.releasecomobject(pqueryfilter); }
3.
使用deletesearchedrows刪除
private void delete4(ifeatureclass pfeatureclass)
4.
executesql刪除
private void delete4(ifeatureclass pfeatureclass)
二、
測試效能和比較
1、
相同的資料條件,刪除2000條記錄
2、
測試**
ifeaturelayer pfeaturelayer = axmapcontrol1.map.get_layer(0) as ifeaturelayer;
ifeatureclass pfeatureclass = pfeaturelayer.featureclass;
system.diagnostics.stopwatch mywatch = new system.diagnostics.stopwatch();
mywatch.start();
delete1(pfeatureclass)
//delete2(pfeatureclass);
//delete3(pfeatureclass);
//delete4(pfeatureclass);
//delete5(pfeatureclass);
mywatch.stop();
messagebox.show("
刪除時間:" + mywatch.elapsedmilliseconds.tostring() + "毫秒");
3、
測試情況
測試方法
第一次時間(單位ms)
第一次時間(單位ms)
1
5214ms
5735ms
2
299ms
290ms
3
59ms
28ms
4
26ms
26ms
三、
結論
1、
使用executesql刪除最快,資料庫的效率最高。
2、
deletesearchedrows和executesql屬於批量刪除,效能較優。
3、
查詢結果中刪除,速度最慢,如果你使用這種方法,建立你馬上修改你的程式,因為你在浪費時間。
ArcEngine 幾種刪除資料的比較
1 ifeaturecursor 游標查詢後,遍歷刪除 2 更新游標刪除ifeaturecursor.deletefeature 3 itable.deletesearchedrows刪除 4 idataset.workspace.executesql 一 幾種刪除方法 1.查詢結果中刪除 priv...
ArcEngine資料刪除幾種方法和效能比較
原文 arcengine資料刪除幾種方法和效能比較 一 幾種刪除方法 1.查詢結果中刪除 private void delete1 ifeatureclass pfeatureclass iqueryfilter pqueryfilter new queryfilterclass pqueryfil...
ArcEngine資料刪除幾種方法和效能比較
原文 arcengine資料刪除幾種方法和效能比較 一 幾種刪除方法 1.查詢結果中刪除 private void delete1 ifeatureclass pfeatureclass iqueryfilter pqueryfilter new queryfilterclass pqueryfil...