From time to time, I encounter a system design that always issues an UPDATE against the database after a user has finished working with a record – without checking to see if any of the data was in fact altered. The prevailing wisdom seems to be that “the database will sort it out”. This raises an interesting question: how smart is SQL Server in these circumstances?
In this post, I’ll look at a generalisation of this problem: what is the impact of updating a column to the value it already contains?
The specific questions I want to answer are:
Does this kind of UPDATE generate any log activity?
Do any data pages get marked as dirty (and so eventually get written out to disk)?
Does SQL Server bother doing the update at all? Read More...