When you submit a query to SQL Server, it begins by optimizing your query for execution. Using the statistics and indexes at its disposal, the SQL Server query optimizer develops an execution plan that it believes is the most efficient way to service your query. This optimization is cost-based, with plans that cost less in terms of estimated execution time winning out over those that cost more. The costing process leans heavily toward reducing I/O operations because they are the typical bottleneck when accessing large amounts of data.
As illustrated by Figure 17-1, query plan development consists of several phases or steps:
Identify trivial plans.
Evaluate plans based on cost. ...