update_attributes save only if columns changed?

Is there a reason why calling update_attributes saves even if no columns were changed? Currently the update_attributes aliases update which is defined:

def update(attributes)

with_transaction_returning_status do

assign_attributes(attributes)

save

end

end

I was thinking it would be better to do save if changed?

Thoughts? Sorry if this has been posted before

Save should already work with partial updates enabled, which means it won’t trigger an actual update on the database unless something has changed, so there should be no need to check at this point.

Hope that helps.