Query Optimization
Content:
Query optimization is addressed shortly in Database Systems, this lecture looks at a broader topic of optimization techniques. It concentrates on the central issues like join ordering and access path selections, but gives an overview of the whole query processing machinery. The main goals of the lecture are twofold: First, to learn different optimization techniques, which are also relevant in other areas. And second, to get an understanding how queries are processed and why queries are fast or slow.
Slides:
- Chapter 1: Introduction
- Chapter 2: Textbook Query Optimization
- Chapter 3: Join Ordering
- Chapter 4: Accessing the Data
- Chapter 5: Physical Properties
Exercise session:
- Session 1: Introduction
- Session 2: Logical Optimization; Query Graphs; Search Space
- Session 3: GOO, IKKBZ
- Session 4: MVP, DP
- Session 5: DP
- Session 6: Randomized algorithms
- Session 7: General Questions
- Session 8: Repetition Notes
- Session 9: Genetic Algorithms
- Session 10: Order preserving joins
- Session 11: Yao, Cheung, Histograms
Assignments:
You can work on exercises in teams of two students. Specify names of both participants when submitting
- Exercise 1: Due November 14
- Exercise 2: Due November 21
- Exercise 3: Due November 28
- Exercise 4: Due Dezember 05
- Exercise 5: Due Dezember 12
- Exercise 6: Due Dezember 19
- Exercise 7: Due January 09
- Exercise 8: Due January 16
- Exercise 9: Due January 23
- Exercise 10: Due February 06
Literature:
- J.D. Ullman. Database and Knowledge Base Systems. Computer Science Press, 1989.
- T. Özsu and J. Blakeley. Modern Database Systems. Addison Wesley, 1995.
- H. Garcia-Molina and J.D. Ullman and J. Widom. Database System Implementation. Prentice Hall, 1999.
- P. Gassner, G. Lohman, and K. Schiefer. Query optimization in the IBM DB2 family. IEEE Data Engineering Bulletin, 16:4 18, Dec. 1993.
- S. Chaudhuri. An Overview of Query Optimization in Relational Systems. PODS, 1998
- G. Moerkotte. Building Query Compilers. (draft)