Here's some info on that:
https://community.safe.com/s/article/writers-and-performance
and also:
https://community.safe.com/s/article/improving-performance-when-working-with-esri-geoda
You asked about dropping and rebuilding the index? That would definitely help, but unfortunalty there is no easy way to do this in FME without a bit of python. https://pro.arcgis.com/en/pro-app/tool-reference/data-management/remove-spatial-index.htm and https://pro.arcgis.com/en/pro-app/tool-reference/data-management/add-spatial-index.htm
Someone might have a sample to share with you.
The other thing to check it permissions, I have heard that if permissions are not high enough for SED FME might try and start and edit session which is much slower. Check that you have proper permissions.
If it is non-versioned it becomes relatively straightforward to instead Write using the native DB Client, like the SQL Server Spatial Writer (depending on Spatial Data Type being used in the backend). Similarly dropping and re-building the indices can be executed with the relevant SQL commands like DROP INDEX, CREATE INDEX etc. but that involves compromises if you are executing that in a live production environment and is DB dependent.
An alternative way I've found faster for insertions and updates is to send the features in via ArcPy da (Data Access) InsertCursors or UpdateCursors respectively. They are a pain to code up in Python, but it tends to outperform the SDE interface (and related FME Writers) by several orders of magnitude.
If it is non-versioned it becomes relatively straightforward to instead Write using the native DB Client, like the SQL Server Spatial Writer (depending on Spatial Data Type being used in the backend). Similarly dropping and re-building the indices can be executed with the relevant SQL commands like DROP INDEX, CREATE INDEX etc. but that involves compromises if you are executing that in a live production environment and is DB dependent.
An alternative way I've found faster for insertions and updates is to send the features in via ArcPy da (Data Access) InsertCursors or UpdateCursors respectively. They are a pain to code up in Python, but it tends to outperform the SDE interface (and related FME Writers) by several orders of magnitude.
This is really interesting - thanks for sharing.