Query Optimization Similar to other optimization Optimize by
search Two main factor: Search Space: how many candidates
Evaluation function : how to judge which candidate is good Search
Space Query Plan
Query Optimization Evaluation function: A.K.A cost model
Evaluate query plan based on statistical information Assumptions:
Independence, Uniform distribution, inclusion assumption Reduction
Factor Selectivity Histogram: Equiwidth Equidepth Number of Rows
Per Column Distinct Value Per Column Value Distribution Combined
Column Value Distribution Available Index... Number of Rows Per
Column Distinct Value Per Column Value Distribution Combined Column
Value Distribution Available Index...
Slide 5
Query Optimization What if we know both ? Dynamic programming
optimization Optimal Substructure C D A B If Q is optimal, all its
subquery are optimal
Slide 6
Question 1 (A)
Slide 7
Question 1 (B) 137 180 97
Slide 8
Question 1 (C) A Implies B U A A
Slide 9
Question 2 Equiwidth histogram with 3 buckets 9 distinct value
Each bucket has 3 distinct values
Slide 10
Question 3 Access Methods: Table Scan Clustered B+ tree (age,
sal) Hash Index on (eid) Unclustered B+ tree (sal) Hash Index on
(age)
Slide 11
Question 3 (a) Access Methods: Table Scan Clustered B+ tree
(age, sal) Hash Index on (eid) Unclustered B+ tree (sal) Hash Index
on (age) 20,000 Not Applicable
Slide 12
Question 3 (b) Access Methods: Table Scan Clustered B+ tree
(age, sal) Hash Index on (eid) Unclustered B+ tree (sal) Hash Index
on (age) Not Applicable 2,000 + 20,000
Slide 13
Question 3 (c) Access Methods: Table Scan Clustered B+ tree
(age, sal) Hash Index on (eid) Unclustered B+ tree (sal) Hash Index
on (age) Not Applicable
Slide 14
Question 3 (d) Access Methods: Table Scan Clustered B+ tree
(age, sal) Hash Index on (eid) Unclustered B+ tree (sal) Hash Index
on (age) Not Applicable 2,000 + 1 Not Applicable
Slide 15
Question 3 (e) Access Methods: Table Scan Clustered B+ tree
(age, sal) Hash Index on (eid) Unclustered B+ tree (sal) Hash Index
on (age) Not Applicable
Slide 16
Question 3 (f) Access Methods: Table Scan Clustered B+ tree
(age, sal) Hash Index on (eid) Unclustered B+ tree (sal) Hash Index
on (age) Not Applicable 2,000 + 20,000
Slide 17
Question 3 (g) Access Methods: Table Scan Clustered B+ tree
(age, sal) Hash Index on (eid) Unclustered B+ tree (sal) Hash Index
on (age) Not Applicable
Slide 18
Question 3 (h) Access Methods: Table Scan Clustered B+ tree
(age, sal) Hash Index on (eid) Unclustered B+ tree (sal) Hash Index
on (age) Not Applicable