Query Optimization Techniques Utilizing Path Indexes in Object-Oriented Database Systems

We propose query optimization techniques that fully utilize the advantages of path indexes in object-oriented database systems. Although path indexes provide an eecient access to complex objects, little research has been done on query optimization that fully utilize path indexes. We rst devise a generalized index intersection technique, adapted to the structure of the path index extended from conventional indexes, for utilizing multiple (path) indexes to access each class in a query. We then propose the query graph reduction algorithm that replaces the classes in the query graph with path index scans; we call the resultant query graph reduced query graph (RQG). We nally present the search algorithm that nds the least-cost evaluation plan from RQG based on a cost model. Proposed query optimization techniques enhance database performance by using path indexes instead of direct accesses to data in the evaluating queries.

[1]  C. Mohan,et al.  Single Table Access Using Multiple Indexes: Optimization, Execution, and Concurrency Control Techniques , 1990, EDBT.

[2]  Elisa Bertino,et al.  Optimization of Queries using Nested Indices , 1990, EDBT.

[3]  Goetz Graefe,et al.  Experiences building the open OODB query optimizer , 1993, SIGMOD Conference.

[4]  Patricia G. Selinger,et al.  Access path selection in a relational database management system , 1979, SIGMOD '79.

[5]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

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

[7]  David Maier,et al.  Indexing in an Object-Oriented DBMS , 1986, OODBS.

[8]  Donald E. Knuth,et al.  The art of computer programming: sorting and searching (volume 3) , 1973 .

[9]  Won Kim Object-Oriented Database Systems: Promises, Reality, and Future , 1995, Modern Database Systems.

[10]  Hansjorg Zeller,et al.  An Overview of the Gaea Project. , 1993 .

[11]  Guy M. Lohman,et al.  Query Optimization in the IBM DB2 Family. , 1993 .

[12]  David Maier,et al.  Challenges for Query Processing in Object-Oriented Databases , 1991, Query Processing for Advanced Database Systems.

[13]  Prashant Palvia,et al.  Approximating Block Accesses in Database Organizations , 1984, Inf. Process. Lett..

[14]  Elisa Bertino,et al.  Indexing Techniques for Queries on Nested Objects , 1989, IEEE Trans. Knowl. Data Eng..

[15]  David Harel,et al.  On visual formalisms , 1988, CACM.

[16]  Rosana S. G. Lanzelotte,et al.  Adapting Relational Optimization Technology to Deductive and Object-Oriented Declarative Database Languages , 1991, DBPL.

[17]  Ravi Krishnamurthy,et al.  Query optimization in a memory-resident domain relational calculus database system , 1990, TODS.

[18]  Won Kim,et al.  Introduction to Object-Oriented Databases , 1991, Computer systems.

[19]  Gio Wiederhold,et al.  Separability - an approach to physical data base design , 1981, VLDB 1981.

[20]  Michael J. Carey,et al.  A performance evaluation of pointer-based joins , 1990, SIGMOD '90.

[21]  Sang Hyuk Son,et al.  A New Method for Estimating the Number of Objects Satisfying an Object-Oriented Query Involving Partial Participation of Classes , 1996, Inf. Syst..

[22]  Kyu-Young Whang,et al.  A join algorithm utilizing multiple path indexes in object-oriented database systems , 1996, Proceedings of ICECCS '96: 2nd IEEE International Conference on Engineering of Complex Computer Systems (held jointly with 6th CSESAW and 4th IEEE RTAW).

[23]  Michael Kifer,et al.  Querying object-oriented databases , 1992, SIGMOD '92.

[24]  Won Kim,et al.  Acyclic Query Processing in Object-Oriented Databases , 1988, ER.

[25]  Gio Wiederhold,et al.  Separability —An Approach to Physical Database Design , 1984, IEEE Transactions on Computers.