On the Optimization of Queries Containing Regular Path Expressions

One of the main characteristics of object-oriented database management systems is the explicit representation of relationships between objects. A simple example for a query addressing these relationships arises, if we assume the object types Company, and Division with the relationship has division from Company to Division. In this case a query might ask for the companies which have a division called "strategy". The query might start with the companies and navigate to the divisions which can be reached via the has division relationship. Finally the query has to check if the name attribute of the Division object is "strategy". Since there is no direct condition for the companies in the query, this query execution will be costly. If we assume that there is a reverse relationship division of from Division to Company, an alternative execution plan might start with the "strategy" divisions and follow this reverse relationship. In this case an index structure for the name attribute of the Division objects can be exploited to speed up query processing. In the present paper we describe a query optimizer which exploits this potential invertibility of navigational operations in queries. Our approach is based on, but not limited to the context of the ISO and ECMA standard PCTE and P-OQL.

[1]  Gottfried Vossen,et al.  Query Processing for Advanced Database Systems , 1993 .

[2]  R. G. G. Cattell,et al.  The Object Database Standard: ODMG-93 , 1993 .

[3]  Guy M. Lohman,et al.  Implementing an Interpreter for Functional Rules in a Query Optimizer , 1988, VLDB.

[4]  Andreas Henrich Document retrieval facilities for repository-based system development environments , 1996, SIGIR '96.

[5]  Bernhard Mitschang Anfrageverarbeitung in Datenbanksystemen , 1995 .

[6]  Guido Moerkotte,et al.  Evaluating queries with generalized path expressions , 1996, SIGMOD '96.

[7]  Johann-Christoph Freytag,et al.  A rule-based view of query optimization , 1987, SIGMOD '87.

[8]  J. Davenport Editor , 1960 .

[9]  Andreas Henrich,et al.  Extending a Spatial Access Structure to Support Additional Standard Attributes , 1995, SSD.

[10]  Asuman Dogac,et al.  A Heuristic Approach for Optimization of Path Expressions , 1995, DEXA.

[11]  Andreas Henrich P-OQL: an OQL-oriented query language for Pcte , 1995, Proceedings Software Engineering Environments.

[12]  Joachim Kröger,et al.  Query Optimization in the CROQUE Project , 1996, DEXA.

[13]  Nick Roussopoulos,et al.  The Implementation and Performance Evaluation of the ADMS Query Optimizer: Integrating Query Result Caching and Matching , 1994, EDBT.

[14]  Ralf Hartmut Güting,et al.  Rule-based optimization and query processing in an extensible geometric database system , 1992, TODS.

[15]  Douglas Comer,et al.  Ubiquitous B-Tree , 1979, CSUR.

[16]  David Jordan,et al.  The Object Database Standard: ODMG 2.0 , 1997 .

[17]  Andreas Henrich,et al.  A Common Access Structure for Standard Attributes and Document Representations in Vector Space , 1997, NGITS.