“Index Seek” Doesn’t Mean Much.


When you see “index seek” on an execution plan, that doesn’t mean SQL Server is jumping to exactly the row you’re looking for. It only means that SQL Server is seeking on the first column of the index.

This is especially misleading on indexes where the first column isn’t very selective.

To explain, I’ll take one of the big Stack Overflow databases and create this index on the Users table:

CREATE INDEX Reputation_Location_DisplayName ON dbo.Users(Reputation, Location, DisplayName);

And then I’ll run this query:

SELECT * FROM dbo.Users WHERE Reputation = 1 AND DisplayName = N’Brent Ozar’;

The actual execution plan shows an