The picture above depicts a SQL statement entering the SQL Server instance and going through a series of steps. These steps may include reading data from disk, waiting on a locking issue, waiting for the instance to commit data, and many more. Measuring the total execution time for a SQL statement reveals which SQL to tune and measuring how much time that SQL waits on specific steps provides the best clues for fixing the issue. For example, if a SQL statement executes for 40 seconds, what is the major cause of that delay? A SQL that waits on an event named “PAGEIOLATCH_SH” may means it is waiting on physical disk I/O and possibly performing a full table scan, while waits on “LCK_M_X” indicate the SQL is experiencing a locking issue. The solutions for these problems are much different and are where wait types help the most