This document discusses query optimization techniques in database systems. It provides examples of equivalence rules that can be used to optimize queries by rewriting them in equivalent forms that may be more efficient to evaluate. It also discusses strategies for efficiently evaluating join queries, including the use of indexes. Some key points made include:
- Equivalence rules allow rewriting queries in forms that avoid unnecessary intermediate results or that push selections past aggregation.
- The size of join results can be estimated based on cardinalities and selectivity of joins.
- Indexes on join attributes can improve join performance when used to lookup matching tuples.