John Deardurff


Execution Plans – Table Operators

How to read Heap and Clustered Index table operators in a SQL Server Execution Plan. One way of determining if a table is structured as a Heap or a Clustered Index is to look at the table operators from the Execution Plan.






Row Versioning in SQL Server

Row versioning fundamentally changes how SQL Server handles read operations during write transactions. Instead of blocking, SQL Server can serve a previous version of the row. We enable row versioning in SQL Server by turning on READ_COMMITTED_SNAPSHOT ISOLATION (RCSI). In this post we will demonstrate blocking without row versioning and…


Concurrency: Phantom Reads

A closer look at the Serializable Transaction Isolation Level and how it could prevent Phantom Reads concurrency issues in SQL Server.



Concurrency: Lost Updates

A closer look at the Read Committed Transaction Isolation Level and how it could allow Lost Update concurrency issues in SQL Server.