Database Systems (CSF212)
[Link]
BITS Pilani CS&IS Dept.
Hyderabad Campus
SQL Query Optimization
(T1-Ch. 18 &19)
• Introduction to query execution
• SQL to Relational algebra
• Query tree Heuristics in Query
optimization
1 Database Systems [Link] BITS Pilani, Hyderabad Campus
Steps in SQL Query execution
Here we discuss the techniques used by a DBMS to process, optimize,
and execute high-level queries. The process involves following steps:
❖ Scanning - identifying the language tokens
❖ Parsing- Syntax checking
❖ Validation – checking the attributes and relations mentioned in the
query valid or not.
❖ Generate query tree representation of the query
❖ Devise an execution strategy- to retrieve data from the files
❖ Query optimization- Choosing a suitable strategy from the available
set of strategies for the query, and generate execution plan.
❖ Code generation – generating code for the plan
❖ Execution
2 Database Systems [Link] BITS Pilani, Hyderabad Campus
4 Database Systems [Link] BITS Pilani, Hyderabad Campus
SQL Query tree
5 Database Systems [Link] BITS Pilani, Hyderabad Campus
Query Optimization
6 Database Systems [Link] BITS Pilani, Hyderabad Campus
7 Database Systems [Link] BITS Pilani, Hyderabad Campus
8 Database Systems [Link] BITS Pilani, Hyderabad Campus
Query Graph
Strategy-1
Strategy-2
9 Database Systems [Link] BITS Pilani, Hyderabad Campus
Strategy-3 Strategy-4
10 Database Systems [Link] BITS Pilani, Hyderabad Campus
Most effective strategy
Strategy-5
11 Database Systems [Link] BITS Pilani, Hyderabad Campus
12 Database Systems [Link] BITS Pilani, Hyderabad Campus
Example
13 Database Systems [Link] BITS Pilani, Hyderabad Campus
14 Database Systems [Link] BITS Pilani, Hyderabad Campus