What is index seek vs index scan vs key lookup in SQL Server?
Updated May 17, 2026
Short answer
Seek uses targeted navigation in an index, scan reads many/all rows, and key lookup fetches missing columns from clustered index.
Deep explanation
Index Seek navigates B-tree structures directly to matching rows using predicates, making it highly selective. Index Scan reads the entire index when predicates are non-sargable or missing indexes. Key Lookup occurs in non-clustered indexes when requested columns are not present in the index leaf node, causing additional I/O against the clustered index. The optimizer chooses based on selectivity, statistics, and cost estimates.
Unlock with a Pro subscription to view this section.
View pricingReal-world example
No real-world example available yet.
Unlock with a Pro subscription to view this section.
Upgrade to ProCommon mistakes
No common mistakes listed yet.
Unlock with a Pro subscription to view this section.
Upgrade to ProFollow-up questions
No follow-up questions available yet.
Unlock with a Pro subscription to view this section.
Upgrade to Pro