Semantic query optimization (SQO) uses integrity constraints in the schema to enhance query optimization. The basic idea is that the more you know about the data, the better job of optimization you can do.
Many papers, since the early 1980's, have been written about this technique, yet it has not been widely implemented in commercial DBMSs, in part because it can be complex, and in part because the advantages were not that compelling.
This paper is notable in that it is one of the few papers, perhaps unique, in showing that SQO is indeed practical. The paper discusses the implications of adding SQO to the DB2 optimizer. The paper uses the convenient heuristic that transformations in the first phase have to guarantee a speed-up, with the advantage that the optimizer doesn't have to choose between candidate transformations, each of which may or may not be beneficial. As this approach eliminates many possible transformations, the concern is that there won't be an improvement in the optimizer's effectiveness. To the contrary, this paper shows that this restricted form of SQO was indeed highly effective in some cases. Lots of examples make for easy reading.
The paper is a nice exception to the vast majority of papers, which propose approaches that will never find their way into actual DBMSs.
Copyright © 2000 by the author(s). Review published with permission.