Besides the usual task of choosing the best sequence for executing operations and their implementation, optimizers for new deductive and object-oriented declarative DB languages face the problem of deciding the best navigation through complex objects. Works on the subject adopt solutions inspired by those issued from the relational optimization technology. They usually focus on one aspect (i.e., path traversals through objects) and do not consider joins, recursion and updates in the same optimization framework. As a consequence, they fail to investigate all possible execution plans for a given input request. This work describes a comprehensive optimization approach which deals uniformly with path traversals, joins, recursion and updates. It starts from a proposed request representation model which copes with (possibly recursive) views and provides for the common representation of overlapping path expressions through objects. The input request is, then, translated to a non-navigational representation where the physical entities involved are depicted and from which execution plans are built. The approach enables the application of deterministic enumerative and randomized search strategies and contributes to enlarging the spectrum of investigated solutions when comparing to related work.
['Rosana S. G. Lanzelotte', 'Jean-Pierre Cheiney']
Adapting relational optimization technology to deductive and object-oriented declarative database languages