I have logged the slowest queries on my database, and one surprises me, showing many times in the list, and taking often many seconds to execute.
UPDATE books SET last_read='2018-12-31 11:23:45' WHERE book_id='15'
book_id is int identity PK (clustered), last_read is a datetime. The query is written with the 15 in single quotes, thus requiring a conversion, but I cannot imagine this being a big deal, because the conversion would only be done once per query. There are 6 indexes on the table, but the column last_read is not involved or included in any of them. The PK is on book_id and is nothing special.
The estimated execution plan tells me:
UPDATE: 0%
Clustered Index Update (on the PK constraint): 100%
I would not expect the query to update any index, because last_read is not indexed in any way, and book_id is not changed.
What am I missing?