Think about what happens when you issue a query to update a row: *The optimizer creates an execution plan *The query is executed *The row will be read from disk into memory *The update will be written to the transaction log *The row will be changed in memory *Confirmation will be sent back to the client Imagine if you could measure the amount of time that was spent waiting for things within each of these stages. It probably won’t surprise you to hear that you can and not only is monitoring waits possible, but it can actually form a very effective part of a performance troubleshooting strategy. Wait time is effectively dead time, and if you can reduce the amount of time you spend waiting, you’ll be able to achieve better overall performance. This session covers how SQL Server waits work, what types there are, and how to view and track them directly through DMV’s as well as using some of the most popular tools. It also covers common scenarios and their associated wait types. Because SQL Server waits represent just a single view of performance, you will also see when to correlate the results with system monitor counters.
Presented by Christian Bolton at SQLBits II