Proceedings of the 1992 ACM SIGMOD International Conference on Management of Data 1992
DOI: 10.1145/130283.130294
|View full text |Cite
|
Sign up to set email alerts
|

Extensible/rule based query rewrite optimization in Starburst

Abstract: This paper describes the Query Rewrite facility of the Starburst extensible database system, a novel phase of query optimization. We present a suite of rewrite rules used in Starburst to transform queries into equivalent queries for faster execution, and also describe the production rule engine which is used by Starburst to choose and execute these rules. Examples we provided demonstrating that these Query Rewrite transformations lead to query execution time improvements of orders of magnitude, suggesting that… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
42
0

Year Published

1999
1999
2018
2018

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 159 publications
(42 citation statements)
references
References 15 publications
0
42
0
Order By: Relevance
“…The running time of UDP on all these rules are within 15 seconds. Many such rewrites involve queries that are beyond UCQ, i.e., they are not part of the decidable fragment of SQL, such as the 3 rewrite rules from Starburst [44] (we described one of them in Sec. 5.4).…”
Section: Characterizing Resultsmentioning
confidence: 99%
See 1 more Smart Citation
“…The running time of UDP on all these rules are within 15 seconds. Many such rewrites involve queries that are beyond UCQ, i.e., they are not part of the decidable fragment of SQL, such as the 3 rewrite rules from Starburst [44] (we described one of them in Sec. 5.4).…”
Section: Characterizing Resultsmentioning
confidence: 99%
“…We prove here a consequence of the key constraint, which we use in Sec. 5.4 to prove some non-trivial SQL identities described by [44]: THEOREM 4.3. If R.k satisfies the key constraint (Def.…”
Section: Axiomatic Interpretation Of Constraintsmentioning
confidence: 99%
“…A SQL query maps one or more input relations to a (nameless) output relation. For example, if a relation with schema R(a, b) has instance {(1, 40), (2,40), (2,50)} then the SQL query Q1:SELECT a FROM R returns the bag {1, 2, 2}.…”
Section: Overviewmentioning
confidence: 99%
“…We exemplarily follow the plan with the mrg operator. The operator is added to the plan and subsequently, the set of inputN odes is divided into required and optional nodes (Lines [19][20][21][22][23][24]. Required nodes are those nodes that have the currently added node as its direct predecessor 1 enumAlternatives(Graph precedGraph, Graph plan, 2 Graph partialPlan) { 3 4 if (isEmpty(precedGraph)) { 5 addPlanToResultSet(partialPlan); 6 return; 7 } 8 candidateNodes = getNodesWithOutDegreeZero(precedGraph); 9 10 foreach(Node n in candidateNodes) { 11 inputNodes = getNodesWithOpenInputs(partialPlan); 12 13 addNodeToPartialPlan(n); 14 removeNodeAndIncidentEdgesFromPrecedenceGraph(n); 15 16 if (isEmpty(inputNodes)) 17 enumAlternatives(precedGraph, plan, partialPlan); 18 19 foreach(Node m in inputNodes){ in the original dataflow, optional successors are all other operators contained in inputN odes.…”
Section: Plan Enumerationmentioning
confidence: 99%