Paul Randal is the CEO of SQLskills.com, which he runs with his wife Kimberly L. Tripp. Both Paul and Kimberly are very widely known and respected experts in the SQL Server world, and both are long-time SQL Server MVPs. Click here for a full bio.
Paul Randal (@PaulRandal) of SQLskills continues his series on knee-jerk performance troubleshooting. In this post, he talks about SOS_SCHEDULER_YIELD, and how to determine whether it is a wait to worry about in your scenario.
Paul Randal of SQLskills continues his series on maintaining happy and healthy transaction logs in SQL Server, this time focusing on configuration issues that can lead to less than optimal performance.
In my previous post on streamlining the operations of the transaction log, I discussed two of the most common causes of extra log records being generated: dead weight from unused nonclustered indexes and page split operations (that cause index fragmentation). Assuming you've read that post, I mentioned that there are more subtle problems that can be detrimental to transaction log performance, and I'm going to cover these here.
In many SQL Server workloads, especially OLTP, the database's transaction log can be a bottleneck that adds to the time it takes a transaction to complete. Most people assume that the I/O subsystem is the real bottleneck, with it not being able to keep up with the amount of transaction log being generated by the workload.