Specialized Course "Query Optimization"
Lecturer: Dr. Thomas Neumann
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 givens 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.
Prerequisites:
Students planning to attend the course should have some basic knowledge about information systems in general (successful participation in one of the courses Information Systems or Database Systems or Information Retrieval will be fine) and should be able to write simple programs in Java.
Organization:
- Lecture: Tuesday, 14:00 - 16:00, 433, Building E1.4
- Exercises: Wednesday, 13:00 - 15:00, HS 023, Building E1.4
Evaluation:
Information about the evaluation.
Slides:
- Lecture 1: Introduction.[view]
- Lecture 2: Textbook Query Optimization[view]
- Lecture 3: Join Ordering[view]
- Lecture 4: Join Ordering (ii)[view]
- Lecture 5: Join Ordering (iii)[view]
- Lecture 6: Join Ordering (iv)[view]
- Lecture 7: Join Ordering (v)[view]
- Lecture 8: Join Ordering (vi)[view]
- Lecture 9: Join Ordering (vii)[view]
- Lecture 10: Join Ordering (viii)[view]
- Lecture 11: Accessing the Data[view]
- Lecture 12: Accessing the Data (ii)[view]
- Lecture 13: Accessing the Data (iii)[view]
- Lecture 14: Accessing the Data (iv)[view]
- References [view]
Exercises:
- Exercise 1, due 6.11.2007 [view]
- Exercise 2, due 13.11.2007 [view]
- Exercise 3, due 20.11.2007 [view]
- Exercise 4, due 27.11.2007 [view]
- Exercise 5, due 4.12.2007 [view]
- Exercise 6, due 11.12.2007 [view]
- Exercise 7, due 18.12.2007 [view]
- Exercise 8, due 8.1.2008 [view]
- Exercise 9, due 15.1.2008 [view]
- Exercise 10, due 22.1.2008 [view]
- Exercise 11, due 29.1.2008 [view]
- Exercise 12, due 5.2.2008 [view]
- Exercise 13, due 12.2.2008 [view]
- Exercise 14, due 19.2.2008 [view]
Working on the exercises in a group is allowed. In this case submit one solution with all names on it.
The groups can be of up to 3 people.
The exercises have to be submitted in the beginning of each lecture or electronically per e-mail.
However, all exercises have to be submitted with respect to the specified submission date.
Late submissions will be discarded.
Tools:
- The tinydb package can be used as a runtime system.
- The TPC-D data set can be used as larger test set.
Exam:
Date: 2007-02-26/27 Duration: 20 min Room: 433 Building E1.4
2007-02-26 |
2007-02-27 |
Time | Name |
14:15 | David Rudi |
14:40 | Joachim Müller |
15:05 | Michal Falenski |
|
Time | Name |
13:15 | Dmytro Pancitenko |
13:40 | Nayden Nachev |
|
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