Just update one column, strange execution plan
Let's do a small thought exercise:


How do you think SQL Server finds the row with that book_id?
How do you think it finds (not updates) the value for last_read?


Remember that the clustered index is the table. If you update the table, you must update at least the clustered index.

Let me continue the thought exercise by asking a different question - do you think there is (or should be) a more efficient way of updating this value, than by finding the row via the clustered index, and changing the value there?

Let's leave heaps out of this for now, but the concept is similar there.