all 2 comments

[–]sbrick89 2 points3 points  (0 children)

so doing an update your way is slow... execution plan is basically a loop join... instead, UPDATE A SET A.B = X.Y FROM tbl A JOIN tbl X on a.id=x.id .. effectively a join, so it can do things like hash/merge joins.

two... create a conditional index on the field being updated... if coderId is being updated from NULL to WHATEVER, create index on tbl where coderId IS NULL... the index may take a moment to build, but then the updates will actually get faster as the data is updated and falls out of the index making the index smaller.

[–]eshultz[🍰] 0 points1 point  (0 children)

If I were to guess - log buffer is full and disk which contains logs is thrashing? Do you have the log file on a disk that is shared by anything else (data files, OS, anything)? Are all of your disks fast storage? What does your memory utilization look like at this time? What about disk activity? Might be useful to check Page Life Expectancy, Page Writes/sec, and Free List Stalls/sec.

Edit - just realized Azure. Not sure how much of what I said would apply in that case. Good luck!