Eitan Blumin has a technique to reduce expensive upserts:
Do you find yourself facing performance problems and long lock chains caused by very frequent INSERT, UPDATE, or DELETE statements being executed on a table? Check out this neat trick that could help you out and make all the difference in the world.
Okay, I admit that title ended up being quite long. But I wanted something that could be easily found in search engines by people facing similar problems.
I’ve done something similar, though without the partition switch and instead deleting batches into a temp table. This is a good example of something I like to say about scalable processes in T-SQL: many times, the most scalable technique involves a mental pivot (and sometimes a literal pivot, such as using tally tables to work with string data) of the straightforward answer.
[…] that with Eitan Blumin’s post yesterday and you’d think it were buffer […]