Would it be possible to try using an DatabaseUpdater for the updates, rather than the FeatureWriter? It might be quicker in some instances.
Also, check and double-check that all the columns used in where-clauses are properly indexed, that could potentially make a huge impact.
Another option would be reading the original FGDB, adding the new attribute and writing a new FGDB, using the INSERT mode.
Then renaming the new FGDB to match the old name (or use the old name for the FGDB in a different location and move after processing).
INSERT mode will always be a lot faster than UPDATE.
Hope this helps.
Would it be possible to try using an DatabaseUpdater for the updates, rather than the FeatureWriter? It might be quicker in some instances.
Also, check and double-check that all the columns used in where-clauses are properly indexed, that could potentially make a huge impact.
Thank you for your suggestion. I have not come across the DatabaseUpdater, it does seem to be quicker. I will test it with some of the larger Feature Classes and see how it runs.
Another option would be reading the original FGDB, adding the new attribute and writing a new FGDB, using the INSERT mode.
Then renaming the new FGDB to match the old name (or use the old name for the FGDB in a different location and move after processing).
INSERT mode will always be a lot faster than UPDATE.
Hope this helps.
Thank you for your comment, There is surprisingly an improvement, I will try this with larger feature classes.
@markb I like @erik_jan ' s suggestion of avoiding updates if you can. Once you have to use an Edit Session with a Geodatabase writer things slow down dramatically. If you have simple feature classes (i.e. point,line,polygon) and no relationships or annotations etc, then the File Geodb API might also speed things up for you. And you could try that in update mode as well
@markb I like @erik_jan ' s suggestion of avoiding updates if you can. Once you have to use an Edit Session with a Geodatabase writer things slow down dramatically. If you have simple feature classes (i.e. point,line,polygon) and no relationships or annotations etc, then the File Geodb API might also speed things up for you. And you could try that in update mode as well
@markatsafe Thank you for your reply, Are you suggesting using the Esri Geodatabase (File Geodb Open API) instead of the Esri Geodatabase (File Geodb)? I always thought it was better to use the latter?
It is certainly a lot quicker writing out to a new FGDB, thanks to you and @erik_jan
@markatsafe Thank you for your reply, Are you suggesting using the Esri Geodatabase (File Geodb Open API) instead of the Esri Geodatabase (File Geodb)? I always thought it was better to use the latter?
It is certainly a lot quicker writing out to a new FGDB, thanks to you and @erik_jan
@markb Each Geodb reader/writer, Esri Geodatabase (File Geodb Open API) vs. Esri Geodatabase (File Geodb) , has it's place.
Esri Geodatabase (File Geodb Open API) by-passes Esri licensing requirements and ArcObjects so is more accessible and can be faster. But is limited to simple features (think SHAPE files in Geodb)
Esri Geodatabase (File Geodb) gives access to all the feature classes an geometry types available in a Geodatabase and supported by FME.