Abstract
The object-oriented database management systems store references to objects (implicit joins, precomputed joins), and use path expressions in query languages. One way of executing path expressions is pointer chasing of precomputed joins. However it has been previously shown that converting implicit joins to explicit joins during the optimization phase may yield better execution plans. A path expression is a linear query, therefore, considering all possible join sequences within a path expression is polynomial in the number of classes involved. Yet, when the implicit joins are converted to explicit joins in a query involving multiple path expressions bound to the same bind variable, the query becomes a star query and thus considering all possible joins is exponential in the number of paths involved. This implies that there is a need for improvement by using heuristic in optimizing queries involving multiple path expressions.
A heuristic based approach for optimizing queries involving multiple path expressions is described in this paper. First, given the cost and the selectivities of path expressions by considering a path expression as a unit of processing, we provide an algorithm that gives the optimum execution order of multiple path expressions bound to the same bind variable. For this purpose, we derive the formulas for the selectivities of path expressions. Then by using this ordering as a basis we provide a general heuristic approach for optimizing queries involving multiple path expressions.
Two optimizers are developed to compare the performance of the heuristic based approach suggested in this paper with the performance of an optimizer based on an exhaustive search strategy. The exhaustive optimizer is generated through Volcano Optimizer Generator (VOG). The results of the experiments indicate that the heuristic based optimizer has a superior performance with the increasing number of path expressions.
Preview
Unable to display preview. Download preview PDF.
References
Atkinson, M., Bancilhon, F., DeWitt, D., Dittrich, D., Maier, D., Zdonik, S., ”The Object-Oriented Database System Manifesto”, in Building an Object-Oriented Database System, Morgan-Kaufmann, 1992
Blakeley, J. A., McKenna, W. J., Graefe, G., ”Experiences Building the Open OODB Query Optimizer”, Proc. of the ACM SIGMOD Conf., 1993.
Ceri, S., Pelagatti, G., Distributed Database systems, McGraw Hill, 1985
Greafe, G., McKenna, J. W., ”The Volcano Optimizer Generator:Extensibility and Efficient Search”, Proc. IEEE Conf. on Data Eng., Vienna Austria,1993.
Ioannidis, Y., Kang, Y., ”Randomized Algorithms for Optimizing Large Join Queries”, Proc. of the ACM SIGMOD Conf., 1990.
Lohman, G.M. et. al., ”Query Processing in R*rd, Query Processing in Database Systems, Kim, Batory, Reiner, eds. Springer-Verlag, 1985.
McKenna, W.J., ”Efficient Search in Extensible Database Query Optimization: The Volcano Optimizer Generator”, Ph. D. Thesis, Univ. of Colorado, 1993.
McKenna, W.J., Personal communication, 1994.
Ono, K., Lohman, G. M., ”Measuring the Complexity of Join Enumeration in Query Optimization”, Proc. of Intl. Conf. on Very Large Databases, 1990.
Ozkarahan E., ”Database Management Concepts, Design and Practice”, Prentice-Hall, 1990.
Sellinger, P.G.,”Access Path Selection in a Relational Database Management System”, Proc. of the ACM SIGMOD Conf., 1979.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ozkan, C., Dogac, A., Evrendilek, C. (1995). A heuristic approach for optimization of path expressions. In: Revell, N., Tjoa, A.M. (eds) Database and Expert Systems Applications. DEXA 1995. Lecture Notes in Computer Science, vol 978. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0049149
Download citation
DOI: https://doi.org/10.1007/BFb0049149
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60303-0
Online ISBN: 978-3-540-44790-0
eBook Packages: Springer Book Archive