System R Query Optimizer

What
The System R query optimizer is responsible for generating cheap query plans given a query. It uses a combination of CPU and IO costs to rank the different query plans in terms of their viability

Cost Estimation
In order to estimate the cost of a plan, we must sum up the costs of the components of the plan. However, in order to estimate the cost, we must also have an indication of how large the inputs to each operator will be. This reasoning is made obvious by thinking back to joins and how the number of IOs was a function of the size of the relations to join.