Maximizing Database Performance With Isolation Levels
summary
Covers SQL Server and Azure SQL isolation levels with concrete demos: a 41,437-row ZIP code table, 5,000 updates repeatedly moving rows while another session counts results, showing default read committed returns wrong counts (correct 60/1000, 371 undercounts, 569 overcounts) while read committed snapshot returns correct results every time. Shows using DBCC USEROPTIONS, ALTER DATABASE to enable RCSI or snapshot, inspects locks with Extended Events, explains key-range locks for serializable, and demonstrates error 3960 (snapshot update conflict) and tempdb version store impact.
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.
50mAchieve peak performance and availability for your SQL Server and Azure SQL workloads with core engi
53mSQL Server Internals: The Practical Angle
52mMy application is fully concurrent and async. What about the database?
53mOptimizing your Azure SQL Database workloads
52mACID in SQL Server: what it is, how it works, and how to live more adventurously.
