The Definitive Introduction to SQL Server Indexes

It normally is not my style to write a blog post solely about a particular article someone else has published. Typically I just go ahead and add quality resources to the SQL Server Resources area of this site that I have either found myself or had recommended to me. In this case however an exception [...]

SQL Server Index Defrag Script: Update

Michelle Ufford (aka SQLFool) has released an update to her excellent index optimisation script. If you are not already using something similar to simplify your index optimisation database maintenance processes then you will find this to be extremely useful. Check it out here: Index Defrag Script, V3.0 Michelle Ufford (aka SQLFool) has released an update [...]

Generate a SQL Random Number in SQL Server

One of my favorite SQL Server authors, Michelle Ufford recently posted her method for generating a sql random number, in the post Random Number Generator in T-SQL. This got me thinking and I decided to do a little investigation of my own to identify what is indeed the best method to generate a random number in SQL Server. What is [...]

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

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 As you know, it is just not practical to use a SQL Server Maintenance [...]

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

Figure 1: Select Top query, with no index.

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 [...]