While adding a new Tag to a large number (some 5,700 records) of Citations, I noted that the Citation view was refreshing the list and the Citation record noted in the Status bar after EACH addition.
It was processing no more than 3 records per second. But even at that speed, adding all the Tags calculates to take about 32 minutes to complete.
It seems likely the feedback updates are taking a LOT more time than the database update.
When processing a lot of records in another application, I had created a percentage progress bar that updated after every record. And it was processing hundreds of thousands of records. Just cutting that to only update every percent (integer of the total selected record count divided by 100) of the records massively improved the performance. I added a variable and a calculation but that overhead was insignificant compared to a refresh. In that application, the process went from 12 minutes to less than 15 seconds. And efficiency improved without reducing feedback quality.
Is there a suggestion for how to write up an Enhancement Request to do something similar for Mass Deletes and Tags?