# Data Access Operators: Scan vs Seek
> [!Note]
> Scan operators read entire storage structures indiscriminately, whereas Seek operators directly locate and retrieve only the necessary rows using an index.
**[[Scan Operator]]** perform a **full read** of a table or index structure—whether a **heap**, **clustered**, or **non-clustered** index—by traversing every row in the data object. This approach incurs higher I/O when only a subset of rows is needed but can be appropriate when large portions of the table must be returned or when no suitable index exists.
**[[Seek Operator]]** leverage an **index** (clustered or non-clustered) to **directly locate** only the rows that satisfy the query predicates. By using the index’s key values for targeted lookups, seeks minimize data pages read and CPU work, making them far more efficient for selective queries that return a small fraction of the overall data.
---
## References
- Korotkevitch, D. (2022). _SQL Server advanced troubleshooting and performance tuning: Best practices and techniques_. O’Reilly Media.
- Nevarez, B. (2022). _SQL Server query tuning and optimization: Optimize Microsoft SQL Server 2022 queries and applications_. Packt Publishing.