Data independent recursion in deductive databases
PODS '86 Proceedings of the fifth ACM SIGACT-SIGMOD symposium on Principles of database systems
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Principles of database and knowledge-base systems, Vol. I
Principles of database and knowledge-base systems, Vol. I
The magic of duplicates and aggregates
Proceedings of the sixteenth international conference on Very large databases
SIGMOD '90 Proceedings of the 1990 ACM SIGMOD international conference on Management of data
Implementation of magic-sets in a relational database system
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Magic factoring of closure programs (extended abstract)
PODS '95 Proceedings of the fourteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
An analysis of magic sets and related optimization strategies for logic queries
Journal of the ACM (JACM)
SLDMagic - The Real Magic (With Applications to Web Queries)
CL '00 Proceedings of the First International Conference on Computational Logic
Soft stratification for magic set based query evaluation in deductive databases
Proceedings of the twenty-second ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Optimizing existential queries in stratifiable deductive databases
Proceedings of the 2005 ACM symposium on Applied computing
Evaluation of datalog extended with an XPath predicate
Proceedings of the 9th annual ACM international workshop on Web information and data management
A magic approach to optimizing incremental relational expressions
IDEAS '09 Proceedings of the 2009 International Database Engineering & Applications Symposium
Optimized incremental ETL jobs for maintaining data warehouses
Proceedings of the Fourteenth International Database Engineering & Applications Symposium
Magic Sets for disjunctive Datalog programs
Artificial Intelligence
Hi-index | 0.00 |
A nonrecursive system is any database system whose query language does not support recursive queries. Thus, many existing commerical SQL database systems are nonrecursive systems. Query optimization is an important issue for nonrecursive queries, and the magic-sets transformation has been shown to improve the performance of nonrecursive queries by many orders of magnitude [MFPR90]. It is thus important to use the magic-sets transformation in nonrecursive systems.However, there is a problem. The magic-sets optimization can transform a nonrecursive query into a recursive query. Since a recursive query cannot be executed by a nonrecursive system, such a transformation is fatal. The magic-sets transformation cannot therefore be used in nonrecursive systems.In this paper we present algorithms that achieve the optimization of the magic-sets transformation while guaranteeing that the transformed program will be nonrecursive whenever the original program is nonrecursive. The algorithms can be extended to the supplementary magic-sets transformation. We also define a new optimization technique for recursive and nonrecursive queries, covered subgoal elimination, that can eliminate subgoals from a rule, and can sometimes convert a recursive query into a nonrecursive one.The algorithms presented in this paper are of practical relevance since they make it possible to incorporate the magic-sets transformation into existing commercial database systems.