Hacker News new | ask | show | jobs
by AaronFriel 3541 days ago
Both are true! MS SQL Server is a "true MVCC" database (no-true Scotsman?) and you are correct. SQL Server supports snapshot/MVCC isolation for transactions, but it must be enabled. They are determined to maintain 20 years of backward compatibility, and while I think that's wrong, they leave snapshot isolation disabled by default.

https://msdn.microsoft.com/en-us/library/ms173763.aspx

1 comments

It uses tempdb for tracking versions, it is not true mvcc in the engine.
That's an internal detail. It's much cleaner than postgresql that leaves old tuples in disk and has to vacuum them later.
It also offers an optimized in-memory transactional engine that is lockless and compiles stored procedures to native code.