Eliminating costly redundant computations from SQL trigger executions
Eliminating costly redundant computations from SQL trigger executions
F. Llirbat,Françoise Fabret,E. Simon
TLDR
This paper defines a model to describe programs, rules and their interactions, and provides algorithms to extract invariant subqueries from trigger's condition and action and develops a rewriting technique that enables to generate and execute the optimized code of SQL triggers.
Abstract
Active database systems are now in widespread use. The use of triggers in these systems, however, is difficult because of the complex interaction between triggers, transactions, and application programs. Repeated calculations of rules may incur costly redundant computations in rule conditions and actions. In this paper, we focus on active relational database systems supporting SQL triggers. In this context, we provide a powerful and complete solution to eliminate redundant computations of SQL triggers when they are costly. We define a model to describe programs, rules and their interactions. We provide algorithms to extract invariant subqueries from trigger's condition and action. We define heuristics to memorize the most “profitable” invariants. Finally, we develop a rewriting technique that enables to generate and execute the optimized code of SQL triggers.
