Query Execution: ---------------------- Unit of cost: Number of pages read/written Cost of queries: All Main operators/Multiple implementations: select/project/join/group by/distinct/union/intersect/except Each query has some memory allocated, each operator has its own memory allocation: Assume M blocks for a given query Dependence on memory available for operations and how the relations are stored, the cost of a specific implementation of an operation will differ ------- Size of a relation R, PAGES(R) and memory allocated M determine the cost ------- Iterator interface: open/close/get_next ----------------------- Operator implementations 1. Using indexes 2. Single pass/multi pass (Block nested join) 3. Temporary outputs (External sort)