• expand typically does multiple db calls (depending on the results in the previous query, it might need to do more)
• on transactional operations, there is multiple queries in one transaction
the second case could be quite easily optimized, at least into two queries (one for all inserts, one for all deletes)