From: Steven Balensiefer (alaska@cs.washington.edu)
Date: Mon May 24 2004 - 10:55:36 PDT
An Overview of Query Optimization in Relational Systems
This paper really starts off with a discussion of possible approaches for
limiting the search space of query plans that must be enumerated. The
author states that bushy join plans can be cheaper, but may be more
expensive to generate. Unfortunately, there's no further exploration of
that conundrum.
The coverage of staged aggregation was similar to what we saw in class,
but once again illustrated that some queries will be significantly cheaper
if grouping is pushed down. One interesting observation was that the
SELECT DISTINCT is just a special case of a grouping. That was a
connection that I'd never made for myself.
The section on reducing multi-block queries to single block queries was
slightly suspect. The first example was trivially reducible, and the
second one changed the comparision operator in the rewrite, and seemed to
make assuptions about the schema without stating them. I don't think the
rewrite will work unless Dept.name is the key for Dept.
A few other concepts that were mentioned (but not expanded on) caught my
attention. The idea that operators should propagate statistical
information seems like an interesting adaptation. Ideally this might
improve the accuracy of the cost computation and therefore the
optimization could improve. The cost of user-defined functions sounds like
another area of interest. I don't have any good idea how much UDFs are
used in practice, but surely an optimizer would perform better if it were
able to accurately guage their associated cost.
Overall, I thought the paper made me aware of the existence of some
different methods, but was somewhat inadequate as a survey. Whereas the
paper by Graefe made me feel like I could understand the referenced papers
after his description, this one did not. In addition, the inclusion of
examples with either incomplete information, or worse yet, errors really
detracts from the paper.
This archive was generated by hypermail 2.1.6 : Mon May 24 2004 - 10:55:36 PDT