THE SQL Server Blog Spot on the Web

Welcome to SQLblog.com - The SQL Server blog spot on the web Sign in | |
in Search

Browse by Tags

All Tags » indexing » sql   (RSS)
Showing page 1 of 2 (15 total posts)
  • Scans are better than Seeks. Really.

    There are quite a few reasons why an Index Scan is better than an Index Seek in the world of SQL Server. And yet we see lots of advice saying that Scans are bad and Seeks are good. Let’s explore why. Michael Swart (@MJSwart) is hosting T-SQL Tuesday this month, and wants people to argue against a popular opinion. Those who know me and have heard ...
    Posted to Rob Farley (Weblog) by rob_farley on March 11, 2014
  • String length and SARGability

    CONVERT_IMPLICIT isn’t the only problem with getting data types wrong. You might have the right type, but what if the length is wrong? This post will look at both getting the type wrong and getting the length wrong too. Let’s do some testing. We’ll need a table with indexes. I’d normally use one of the AdventureWorks versions for this, but as ...
    Posted to Rob Farley (Weblog) by rob_farley on September 22, 2013
  • Ultimate query tuning

    Infinitely better. 100% of the reads removed. Roughly 4000 (okay, 3890), down to zero. None. Let me explain... Obviously if there’s data being returned, there are reads needed. And obviously there is some CPU needed for SQL to be given a query and do anything at all. Luckily for me, performance of a query is typically evaluated using the ...
    Posted to Rob Farley (Weblog) by rob_farley on August 19, 2013
  • The SQL Query Optimizer – when Logical Order can get it wrong

    It’s very easy to get in the habit of imagining the way that a query should work based on the Logical Order of query processing – the idea that the FROM clause gets evaluated first, followed by the WHERE clause, GROUP BY, and so on – finally ending with whatever is in the SELECT clause. We even get in the habit of creating indexes that focus on ...
    Posted to Rob Farley (Weblog) by rob_farley on December 30, 2012
  • Joins in single-table queries

    Tables are only metadata. They don’t store data. I’ve written something about this before, but I want to take a viewpoint of this idea around the topic of joins, especially since it’s the topic for T-SQL Tuesday this month. Hosted this time by Sebastian Meine (@sqlity), who has a whole series on joins this month. Good for him – it’s a great ...
    Posted to Rob Farley (Weblog) by rob_farley on December 10, 2012
  • Covering, schmuvvering – when a covering index is actually rubbish

    Take a look at this query plan. Yes, that arrow indicates a single row. This is an Index Seek, returning a single row. And yet it’s rubbish. That’s right – it’s rubbish! In fact, I had to provide a hint for it to use this index. A table scan would’ve been better, and this is what happens without the index hint. Let’s look at the query. I ...
    Posted to Rob Farley (Weblog) by rob_farley on May 19, 2011
  • Function Invertability for SARGability

    My good friend Simon Sabin used the term ‘invertability’ on a Connect item he logged today. Essentially, Simon’s noticed that there are lots of people that use year(someDate), but that the system doesn’t understand that this function doesn’t affect the order of the items in the index. month(someDate) does, but if you’re already using ...
    Posted to Rob Farley (Weblog) by rob_farley on March 23, 2011
  • Probe Residual when you have a Hash Match – a hidden cost in execution plans

    No, this post has nothing to do with airport security, and nothing to do with marijuana. Being honest, this post is only half about Hash Matches and Probe Residuals. It’s more about the types of predicates you can see mentioned in a SQL Server Execution Plan (or Query Plan, but I prefer to call them Execution Plans) – but you may well see some ...
    Posted to Rob Farley (Weblog) by rob_farley on March 21, 2011
  • The SSIS tuning tip that everyone misses

    I know that everyone misses this, because I’m yet to find someone who doesn’t have a bit of an epiphany when I describe this. When tuning Data Flows in SQL Server Integration Services, people see the Data Flow as moving from the Source to the Destination, passing through a number of transformations. What people don’t consider is the Source, ...
    Posted to Rob Farley (Weblog) by rob_farley on February 17, 2011
  • Using SQL Execution Plans to discover the Swedish alphabet

    SQL Server is quite remarkable in a bunch of ways. In this post, I’m using the way that the Query Optimizer handles LIKE to keep it SARGable, the Execution Plans that result, Collations, and PowerShell to come up with the Swedish alphabet. SARGability is the ability to seek for items in an index according to a particular set of criteria. If you ...
    Posted to Rob Farley (Weblog) by rob_farley on January 3, 2011
1 2 Next >
Powered by Community Server (Commercial Edition), by Telligent Systems
  Privacy Statement