Performance Tuning

How to identify the most costly SQL Server queries using DMV’s

I was investigating a performance issue recently and so thought I would share the T-SQL query that I created with you. There’s nothing new or magic here, the code snippet simply identifies the top 20 most expensive queries (currently cached) based on the cumulative CPU cost. The query returns both the SQL Text from the [...]

What is SQL Server Parameter Sniffing

Have you ever come across a stored procedure that utilises parameters and performs like a dream the majority of the time but for some reason crawls along on some other occasions? Well the chances are that this is down to SQL Server Parameter Sniffing. I was re-reading through the white paper Batch Compilation, Recompilation, and [...]

Whitepaper: Troubleshooting Performance Problems in SQL Server 2008

No doubt you already know that I love nothing more than getting my hands on excellent technical resources for SQL Server. Well hot off the press is the latest Whitepaper offering from Microsoft that looks at troubleshooting performance problems in SQL Server 2008. Naturally you may already be familiar with some of the techniques and [...]

The SQL Server Buffer Pool and Buffer Cache Hit Ratio

There seems to be some confusion surrounding Buffer Cache Hit Ratio and the SQL Server Buffer Cache. Having answered several queries concerning this over the last few weeks on a variety of forums I thought I would post here in order set the record straight. What is the SQL Server Buffer Cache? The Buffer Cache [...]

Automate SQL Server Index Defragmentation,Optimisation

This week I came across what could quite possibly be, the best SQL Server index defrag script I have seen. This little beauty is fully customisable and is freely available courtesy of Michelle Ufford (aka SQL Fool) on her blog SQLFool.com As you know, it is just not practical to use a SQL Server Maintenance [...]

SQL Server Memory Configuration, Determining MemToLeave Settings

Determining the appropriate memory configuration for a SQL Server platform is a task that all database administrators are required to perform. It is essential to ensuring that an appropriate level of performance can be provided. I am going to discuss some of the additional memory configuration tweaking that you may wish to undertake so that [...]

Performance Comparison of (SELECT TOP 1) Verses MAX()

I recently came across a post on Stackoverflow regarding the performance of using a SELECT TOP 1 query in comparison to using the MAX() function. My initial thoughts on this were that the MAX() function would provide the best performance however, in order to be absolutely certain and prove my initial hypothesis I decided to [...]

Hidden RBAR: Triangular Joins

No matter how good a T-SQL programmer you think you are, it is always good to revisit the basics every once in a while and to ensure that you keep your high quality coding standards in check. One of my favourite series of articles regarding good T-SQL coding practices is by Jeff Moden over at [...]