Professional Documents
Culture Documents
Immanuel Trummer
itrummer@cornell.edu
www.itrummer.org
Database Management
Systems (DBMS)
Application 1 Connections, Security, Utilities, ...
Application 2
DBMS Interface Query Processor
Query Parser Query Rewriter
Storage Manager
Data Access Buffer Manager
Query
SQL Query Query Plan
Optimizer
Cost
Prediction
Query
SQL Query Query Plan
Optimizer
Cost
Prediction
Cost Model
Cardinality Model
Selectivity Model
Data Statistics
Cost Model
Cardinality Model
Selectivity Model
Data Statistics
• ...
Cost Model
Cardinality Model
Selectivity Model
Data Statistics
Cost Model
Cardinality Model
Selectivity Model
Data Statistics
Cost Model
Cardinality Model
Selectivity Model
Data Statistics
SELECT Count(*)
FROM Customers C JOIN Orders O USING (cid)
JOIN Products P USING (pid)
WHERE C.location = 'Ithaca' AND
P.name = 'Book Ithaca is Gorges'
Hash Join
(Output
⨝O.Pid=P.Pid
Pipelined)
Scan Filter
Data Flow
(Output
)
Materialized
Index NL
(Output
)
⨝C.Cid=O.Cid 𝛔P.name='... Gorges'
Materialized
Scan Filter
(Output
𝛔C.Location='Ithaca' Orders (O) Products (P)
Pipelined) (H as h I n d e x o n
)
Cid Available
Customers (C) Slides by Immanuel Trummer, Cornell University
Selectivity Estimation
Element Property Value
Customers Cardinality 10,000
Orders Cardinality 100,000
Products Cardinality 5,000
Customers.Location # Values 100
Products.Name # Values 2,500
(Output
)
Materialized
Index NL
1/10,000 1/2,500
(Output
)
⨝C.Cid=O.Cid 𝛔P.name='... Gorges'
Materialized
100,000 Rows 5,000 Rows
Scan Filter
1/100
(Output
𝛔C.Location='Ithaca' Orders (O) Products (P)
Pipelined) (H as h I n d e x o n
)
10,000 Rows Cid Available
Customers (C) Slides by Immanuel Trummer, Cornell University
Cardinality Estimation
Aggregate
Count(*)
(On the Fly)
(Output
)
Materialized
Index NL
1/10,000 1/2,500
(Output
)
⨝C.Cid=O.Cid 𝛔P.name='... Gorges'
Materialized
100 Rows 100,000 Rows 5,000 Rows
Scan Filter
1/100
(Output
𝛔C.Location='Ithaca' Orders (O) Products (P)
Pipelined) (H as h I n d e x o n
)
10,000 Rows Cid Available
Customers (C) Slides by Immanuel Trummer, Cornell University
Cardinality Estimation
Aggregate
Count(*)
(On the Fly)
Query
SQL Query Query Plan
Optimizer
Cost
Prediction
⨝O.Pid=P.Pid
Data Flow
⨝ D
⨝ C
A B
n g
n i
l i
p e ⨝ D
P i
⨝ C
A B
C O P
Phase 1 C O P
Phase 1 C O P
Phase 1 C O P
Phase 2
O(2 nrTables
C⨝O C⨝P
* ...)
O⨝P
Phase 1 C O P