Identifying relevant constraints for semantic query optimization
Semantic query optimization is the process of utilizing information implied by integrity constraints to reformulate the query into one that generates the same set of answers in a more efficient way. The difficulties of identifying relevant integrity constraints for a given query have been well recognized as have the various solutions. However, most of the previous works consider the query consisting of join(s) of base relations and the integrity constraints on base relations only. We generalize these restrictions and propose a method of identifying relevant integrity constraints for queries involving any combinations of joins and unions of base and defined relations. Our method utilizes a query graph that can be constructed dynamically during the query processing time, and, as a consequence, does not rely on heavy preprocessing or normalization. The method is extended to include the use of heuristics for generating a subset of answers.
semantic query optimization query processing heuristics deductive database