Algebraic optimization
Relational query processing requires the automatic translation of a SQL expression into a series of actions to compute the result table. Because there are many ways leading to Rome, some sophistication is required to choose a way that requires less computation, although choosing the best way is not always feasible.
A generally accepted approach is to split up this process in several phases. The first phase is to translate a SQL expression into an equivalent extended relational algebra expression. This expression can be subject to rewriting techniques, thereby reducing processing time. These rewriting techniques can be either rules of thumb or supported by performance estimations.
In a final phase, the rewritten expression will be translated into concrete algorithms. This phase is described under Query evaluation.
We offer the following material: