
Chapter 2
Query Optimization in Relational
Database Systems
As discussed in the previous chapter, database management systems (DBMSs)
let users specify queries using high-level declarative languages such as SQL.
Then, the DBMS determines the best way to evaluate the input query and
to obtain the desired result. To answer a SQL query, a typical DBMS goes
through a series of steps, illustrated in Figure 2.1:
1. The input query, treated as a string of characters, is parsed and trans-
formed into an internal data structure (i.e., an algebraic tree). This
step performs both syntactic and semantic checks over the input query,
rejecting all invalid requests. ...