SOEN 363 - Data Systems For Software Engineers: Query Optimization
SOEN 363 - Data Systems For Software Engineers: Query Optimization
Essam Mansour
Today…
Last Session:
Query Optimization
Today’s Session:
Query Optimization
DBMS Layers
Queries
Query Optimization
and Execution
Relational Operators
Transaction Files and Access Methods
Manager
Recovery
Buffer Management Manager
Lock
Manager Disk Space Management
DB
Outline
A Brief Primer on Query Optimization
Enumerating Plans
Relational Algebra Equivalences
A relational query optimizer uses relational algebra
equivalences to identify many equivalent expressions for a
given query
2. Commutation of Selections:
c1 c 2 R c 2 c1 R
Allows us to test selection conditions in either order
RA Equivalences: Projections
One important equivalence involves projections:
Cascading of Projections:
a1 R a1 ... an R
This says that regardless of the order in which the relations are
considered, the final result is the same!
This order-independence is fundamental to how a query optimizer
generates alternative query evaluation plans
RA Equivalences: Selections, Projections, Cross
Products and Joins
Selections with Projections:
a ( c ( R )) c ( a ( R ))
sname sname
Canonical form
rating > 5
bid=100 rating > 5
sid=sid
sid=sid
bid=100 Sailors
Query Optimization
Continue…
and Execution
Relational Operators
Transaction Files and Access Methods
Manager
Recovery
Buffer Management Manager
Lock
Manager Disk Space Management
DB