A query processor receives a query, validates it, optimizes it into a procedural dataflow execution plan and executes it to obtain the results of the query.
Query processing consists of several phases. In the first phase, the query parser checks whether the query is correctly specified, resolves any names and references, verifies consistency, and performs authorization tests. If the query passes validation, it is converted into an internal representation that can be easily processed by the subsequent phases. Then, the query rewrite module, or rewriter, simplifies the query and transforms it into an equivalent form by carrying out a number of optimizations that do not depend on the physical state of the system, such as view expansion and logical rewriting of predicates. These initial phases rely only on data and metadata in the system catalog.
Next, the query optimizertransforms the internal query representation into an efficient query...
- 2.Haas LM, Freytag JC, Lohman GM, Pirahesh H. Extensible query processing in starburst. In: Proceedings of ACM SIGMOD International Conference on Management of Data; 1989. p. 377–88.Google Scholar