I have written a small Python Toolbox which creates a feature dataset, a polygon feature class and adds 24 fields to the feaure class. Running the script on a File Geodatabase is very fast, but when I change the workspace to an Azure SQL database, performance degrades noticable. I run the scripts on an Azure virtual machine.
Running with ArcMap 10.8.1 takes 1 minute 36 seconds.
Running the same script in Pro 2.6 takes 7 minutes 57 seconds.
Any hint on why this is slower in Pro or how to improve speed?
Azure SQL Database is SQL Server 2019, the client is using SQL Driver 17 from Microsoft.
geodatabase <SPAN class="operator token">=</SPAN> r<SPAN class="string token">"C:\Users\s.offermann\Documents\ArcGIS\Projects\MyProject\azure.sde"</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>workspace <SPAN class="operator token">=</SPAN> geodatabase
featureDataset <SPAN class="operator token">=</SPAN> <SPAN class="string token">"myFeatureDataset"</SPAN>
featureDatasetPath <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>geodatabase<SPAN class="punctuation token">,</SPAN> featureDataset<SPAN class="punctuation token">)</SPAN>
name <SPAN class="operator token">=</SPAN> <SPAN class="string token">"myFeatureClass"</SPAN>
featureClass <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>featureDataset<SPAN class="punctuation token">,</SPAN> name<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CreateFeatureDataset_management<SPAN class="punctuation token">(</SPAN>geodatabase<SPAN class="punctuation token">,</SPAN> featureDataset<SPAN class="punctuation token">,</SPAN> <SPAN class="number token">25832</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CreateFeatureclass_management<SPAN class="punctuation token">(</SPAN>featureDatasetPath<SPAN class="punctuation token">,</SPAN> name<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"POLYGON"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">''</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'DISABLED'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'ENABLED'</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>AddField_management<SPAN class="punctuation token">(</SPAN>featureClass<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'CompanyID'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'TEXT'</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># ... 23 more fields ...</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></SPAN><SPAN></SPAN></SPAN>