IEEE Transactions on Computers · 1984 · 44 citations · 14 references
ComputingComputer ScienceAlgorithmsDatabasesDistributed SystemsDatabase ManagementDistributed ComputingDistributed DatabasesQuery OptimizationQuery ProcessingRelational AlgebraDistributed Database ManagementHeuristic AlgorithmsJoin OrderingOptimality ConditionsOptimality CriteriaRelational Query Processing
The problem of optimal query processing in distributed database systems was shown to be NP-hard. This means that heuristic algorithms are necessary to solve the query processing problem. In this paper, we describe algorithms to improve the solutions generated by heuristics. We have identified four properties which optimal semijoin programs for processing tree queries have to satisfy. A semijoin program is represented by an execution graph which specifies the order and the identities of the semijoins to be executed. Given a semijoin program, we can therefore apply these properties to check its optimality. If it does not satisfy these optimality properties, the associated improvement algorithms can be applied to improve this program. No assumptions have been made about the relation size and the selectivity of the semijoins.
14
A relational model of data for large shared data banks
E. F. Codd · Communications of the ACM · 1970 · 5.2K citations · Full text
A relational model of data for large shared data banks
E. F. Codd · Communications of the ACM · 1983 · 4.8K citations
Using Semi-Joins to Solve Relational Queries
Philip A. Bernstein, Dah-Ming W. Chiu · Journal of the ACM · 1981 · 466 citations · Full text