Here’s a question for you: When you update a field to its current value, what happens?
For example, let’s say you have a contact with a phone number of “123 456 7890”. Then you execute a flow that updates the phone number to “123 456 7890”. What does Salesforce do?
The answer is:
- It consumes a DML operation (remember we only get 101 of those in a transaction)
- It updates the last modified by and last modified date
- It changes the field to the new value, even though the prior value is the same as the current value
- The usual order of execution is triggered (i.e. all other record-triggered automations are performed)
Note that if data is updated using a dataloader, Salesforce may optimize and not actually perform the update.
Other than that scenario, considering nothing actually changed, that’s quite a bit. Some systems always perform a noop (no-operation operation), so that nothing actually happens.
The takeaway
Whenever updating a record, only update what actually needs to be updated. It may be less efficient to compare every existing value to its new value, but keep in mind the consequences of this choice.