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 “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 data pages get marked as dirty (and so eventually get written out to disk)?
- Does SQL Server bother doing the update at all?