I have a feature class that i need to update weekly and i can't just delete the feature class because it's tied to programs and applications. So what I have done is use arcpy.DeleteFeatures_management to delete the rows. I have been using Append_Management to update the layer but it takes about 7 mins, there is roughly about 90K features. So i wanted to see i can us InsertCurors and i come up with two different timing. From my understanding is that arcpy.da was suppose to be faster? I am running this in 2.7 python. So which way is right? can this be done with dictionaries and if so how?
First example takes about 3 mins and 29 secs.
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>workspace <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Database Connections\***.sde"</SPAN>
<SPAN class="keyword token">for</SPAN> FC2 <SPAN class="keyword token">in</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>ListFeatureClasses<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">if</SPAN> FC2<SPAN class="punctuation token">.</SPAN>startswith<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'***.***.TEST_ALL_'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">pass</SPAN>
FC3 <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Database Connections\***.sde\****\***.TEST\***.***.PT_Test"</SPAN>
searchCur <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>FC2<SPAN class="punctuation token">)</SPAN>
inCur <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>InsertCursor<SPAN class="punctuation token">(</SPAN>FC3<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">for</SPAN> Row <SPAN class="keyword token">in</SPAN> searchCur<SPAN class="punctuation token">:</SPAN>
inCur<SPAN class="punctuation token">.</SPAN>insertRow<SPAN class="punctuation token">(</SPAN>Row<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">del</SPAN> inCur <SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>The second one takes 5 mins and 45 secs.
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>workspace <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Database Connections\***.sde"</SPAN>
<SPAN class="keyword token">for</SPAN> FC2 <SPAN class="keyword token">in</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>ListFeatureClasses<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">if</SPAN> FC2<SPAN class="punctuation token">.</SPAN>startswith<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'***.***.TEST_ALL_'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">pass</SPAN>
FC3 <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Database Connections\***.sde\****\***.TEST\***.***.PT_Test"</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>InsertCursor<SPAN class="punctuation token">(</SPAN>FC3<SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">"SHAPE@"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"*"</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> iCursor<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>FC2<SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">"SHAPE@"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"*"</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> sCursor<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> row <SPAN class="keyword token">in</SPAN> sCursor<SPAN class="punctuation token">:</SPAN>
iCursor<SPAN class="punctuation token">.</SPAN>insertRow<SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">)</SPAN>
<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>