Currently, TermSqlCache::saveTermsOfEntity will detect whether the entity's terms are different from the ones stored in the database for the entity's ID. If there is any change, it will delete all terms for the entity, and re-save all terms.
Instead, it would be nice to just delete the terms that were since removed from, and add just the ones that got added to the entity.
Version: unspecified
Severity: major
Whiteboard: backlog, termsearch