Query Optimization Process
(simplified a bit)
•Parse the SQL query into a logical tree:
–identify distinct blocks (corresponding to nested sub-queries or views).
•Query rewrite phase:
–apply algebraic transformations to yield a cheaper plan.
–Merge blocks and move predicates between blocks.
•Optimize each block: join ordering.
•Complete the optimization: select scheduling (pipelining strategy).