Erik Darling made me rhyme. First up, data retrieval via seek:
People. People complain. People complain about SQL Server. That’s probably why I get paid to deal with it, but whatever.
One complaint I get to hear week in and week out is that SQL Server isn’t using someone’s index, or that there are too many index scans and they’re slow.
That might actually be a composite of like twelve complaints, but let’s not start counting.
Erik gives us three reasons why we might not see a seek. But wait, there’s more!
I’m not sure why scans got such a bad rap. Perhaps it’s a leftover from the Bad Old Days© when people worried about logical fragmentation and page splits.
What I mean to say is: scans are often treated with a level of revulsion and focus that distracts people from larger issues, and is often due to some malpractice on their part.
This is true–scans aren’t inherently bad and Erik gives us a better mental model to work with.