Vfp nolock when updating sql
That is pretty much the end of the good news for this form of the query.It performs much better than the original, but it is much less satisfactory for a number of other reasons.The vast majority of the logical reads are caused by the Clustered Index Update navigating down the index b-tree to find the update position for each row it processes.You will have to take my word for it for the moment; more explanation will be forthcoming shortly.With execution plan collection disabled, all required pages in the buffer pool, and no resetting of the end date values between runs, this query typically executes in around 5700ms on my laptop.The statistics IO output is as follows: (read ahead reads and LOB counters were zero, and are omitted for space reasons) The scan count represents the number of times a scanning operation was started.I hope this limitation is addressed in a future version of the product.
The Spool work table is also structured internally as a b-tree, and counts multiple reads as the spool locates the insert position while consuming its input.
The statistics IO output is: This shows two scans started for the Example table (one for each Clustered Index Scan iterator).
The logical reads are again an aggregate over all iterators that access this table in the query plan.
As before, the lack of a breakdown makes it impossible to determine which iterator (of the two Scans and the Update) was responsible for the 3 million reads.
Nevertheless, I can tell you that the Clustered Index Scans count only a few thousand logical reads each.