A semijoin program is a query execution plan for queries to distributed database systems that uses semijoins to reduce the size of relation instances before they are transmitted and further joined. Yet the reduction itself requires that a projection of the relation instances involved in the join onto the join attributes be transmitted. The maximum amount of reduction can be achieved by a semijoin program called a full reducer. Full reducers that do not require the computation of a fixpoint exist for acyclic queries. Fully reducing relation instances is rarely beneficial. However semijoin programs partially reducing selected relation instances may be an effective optimization when the dominant cost of query execution is communication. Considering semijoin programs considerably increases the distributed query optimization search space.
Semijoin programs were first introduced to improve the performance, input/output operations and...
- 6.Lal A, Choueiry BY. Constraint processing techniques for improving join computation: a proof of concept. In: Proceedings of 1st International Symposium on Applications of Constraint Databases; 2004. p. 149–67.Google Scholar
- 8.Stocker K, Kossmann D, Braumandl R, Kemper A. Integrating semi-join-reducers into state of the art query processors. In: Proceedings of 17th International Conference on Data Engineering; 2001. p. 575–84.Google Scholar
- 9.Ullman JD. Principles of database and knowledge-base systems, vol. II. Rockville: Computer Science; 1989.Google Scholar
- 11.Wallace M, Bressan S, Provost TL. Magic checking: constraint checking for database query optimization. In: Proceedings of ESPRIT WG CONTESSA workshop on constraint databases and applications. LNCS, vol. 1034. Springer; 1995. p. 148–66.Google Scholar