Maximizing Database Performance With Isolation Levels
summary
Shows isolation levels on SQL Server and Azure SQL DB using a 41,437-row ZIP code demo, Extended Events and dbcc user options to prove behavior. WITH (NOLOCK) (read uncommitted) returns volatile, impossible states; default read committed produces correct counts only 60/1000 times in a moving-row test (371 undercounts, 569 overcounts). Enabling read committed snapshot via ALTER DATABASE fixes that test to 100% by using the tempdb version store. Serializable uses key-range locks; 3960 update conflict appears under snapshot on concurrent updates.
AI-written summary · about
chapters (13)
- 0:00Introduction to concurrency
- 1:21Concurrency conflicts
- 3:56Locking and deadlock
- 7:05Pessimistic vs optimistic
- 8:04SQL Server isolation levels
- 13:54Read uncommitted isolation
- 19:34Read committed isolation
- 26:58Repeatable read isolation
- 29:23Serializable isolation
- 31:54Optimistic concurrency
- 34:21Read committed snapshot
- 37:29Snapshot isolation
- 44:38Cloud considerations and Q&A
related talks
47mMaximizing Database Performance With Isolation Levels
47mMaximizing Database Performance With Isolation Levels
52mACID in SQL Server: what it is, how it works, and how to live more adventurously.
52mMy application is fully concurrent and async. What about the database?
52mACID in SQL Server: what it is, how it works, and how to live more adventurously.
51mNext Level Scalability on SQL Server 2022
50mAchieve peak performance and availability for your SQL Server and Azure SQL workloads with core engi
29mPutting Rails in a corner: Understanding database isolation
