Query optimizers generate plans to retrieve data specified by queries. Query optimization for object databases (i.e., object-oriented and object-relational databases) is an immature field, and stands to benefit from adaptation of techniques that have proved useful for relations. One technique uses query-to-query transformations to rewrite queries into queries that are potentially more amenable to plan generation. For transformations to be useful, they must preserve the semantics of the queries they rewrite (correctness) and usually result in queries that generate better plans (effectiveness). Object databases complicate the expression of correct and effective transformations. Transformation correctness is problematic even for relational queries. Especially error-prone are transformations that rewrite complex nested queries (queries containing other queries) or queries that return duplicates. Objects make correctness more difficult because object queries can be far more complex than relational queries. The effectiveness of a relational transformation typically depends on the syntax of a query rather than the semantics of of its data or functions. On the other hand, the lack of uniformity
|
369
|
Programming Be Liberated from von Neumann Style? A Functional Style and its Algebra of Programs
– Backus
- 1978
|
|
368
|
The Objectstore Database System
– Lamb, Landis, et al.
- 1991
|
|
179
|
Database Management Systems
– Ramakrishnan, Gehrke
- 2003
|
|
170
|
A new implementation technique for applicative languages
– Turner
- 1979
|
|
150
|
Lambda lifting: transforming programs to recursive equations
– Johnsson
- 1985
|
|
138
|
The Volcano Optimizer Generator : Extensibility and Efficient Search
– McKenna
- 1993
|
|
128
|
Predicate migration: optimizing queries with expensive predicates
– Hellerstein, Stonebraker
- 1993
|
|
123
|
Dynamic Query Evaluation Plans
– Grafe, Karen
- 1989
|
|
119
|
Programming Expert Systems in OPS5: An Introduction to Rule-based Programming
– Brownston, Farrell, et al.
- 1985
|
|
117
|
Naturally embedded query languages
– Breazu-Tannen, Buneman, et al.
- 1992
|
|
116
|
On Optimizing an SQL-like Nested Query
– Kim
- 1982
|
|
98
|
Grammar-like Functional Rules for Representing Query Optimization Alternatives
– Lohman
- 1988
|
|
92
|
Of Nests and Trees: A Unified Approach to Processing Queries That Contain Nested Subqueries, Aggregates and Quantifiers
– Dayal
- 1987
|
|
83
|
Parametric query optimization
– Ioannidis, Ng, et al.
- 1992
|
|
83
|
Extensible/Rule Based Query Rewrite Optimization
– Pirahesh, Hellerstein, et al.
- 1992
|
|
71
|
Nested queries in object bases
– Cluet, Moerkotte
- 1993
|
|
71
|
Extensible query processing in starburst
– Haas, Freytag, et al.
- 1989
|
|
69
|
Algebraic Support for Complex Objects with Arrays, Identity, and Inheritance
– Vandenberg, DeWitt
- 1991
|
|
66
|
Optimization of nested sql queries revisited
– Ganski, Wong
|
|
65
|
Optimization of queries with user-defined predicates
– Chaudhurim, Shim
- 1999
|
|
63
|
A Rule-Based View of Query Optimization
– Freytag
- 1987
|
|
59
|
Towards an effective calculus for object query languages
– Fegaras, Maier
- 1995
|
|
58
|
The design and implementation of programming languages
– Hughes
- 1983
|
|
56
|
The Cascades Framework for Query Optimization
– Graefe
- 1995
|
|
55
|
Über die Bausteine der mathematischen Logik. Mathematische Annalen, 92, 305–316. English translation, ‘On the building blocks of mathematical logic’ in van Heijenoort
– Schönfinkel
- 1924
|
|
51
|
G.: ‘‘Semantic Query Optimization for Methods in Object-Oriented Database Systems
– Aberer, Fischer
- 1995
|
|
49
|
Query Optimization in the Presence of Foreign Functions
– Chaudhuri, Shim
- 1993
|
|
43
|
Fundamental Technique for Order Optimization
– Simmen, Malkemus
- 1996
|
|
42
|
Complex query decorrelation
– Seshadri, Pirahesh, et al.
- 1996
|
|
39
|
Practical Predicate Placement
– Hellerstein
- 1994
|
|
37
|
FQL | A functional query language
– Buneman, Frankel
- 1979
|
|
37
|
Control of an Extensible Query Optimizer : A Planning-Based Approach
– Mitchell, Dayal, et al.
- 1993
|
|
35
|
Extending the Search Strategy in a Query Optimizer
– Lanzelotte, Valduriez
- 1991
|
|
32
|
Rule languages and internal algebras for rule-based optimizers
– Cherniack, Zdonik
- 1996
|
|
29
|
Knowledge-based query processing
– Hammer, Zdonik
- 1980
|
|
27
|
A Blackboard Architecture for Query Optimization in Object Bases
– Kemper, Moerkotte, et al.
- 1993
|
|
24
|
Efficient evaluation of aggregates on bulk types
– Cluet, Moerkotte
- 1995
|
|
22
|
Inderpal Singh Mumick, and Yehoshua Sagiv. Query optimization by predicate movearound
– Levy
- 1994
|
|
19
|
Raghu Ramakrishnan. Magic is relevant
– Mumick, Finkelstein, et al.
- 1990
|
|
18
|
A Functional DBPL Revealing High Level Optimizations
– Erwig, Lipeck
- 1991
|
|
18
|
de By. From Nested-Loop to Join Queries in OODB
– Steenhagen, Apers, et al.
- 1994
|
|
17
|
Specifying rule-based query optimizers in a reflective framework
– Fegaras, Maier, et al.
- 1993
|
|
16
|
SQL-like and Quel-like correlation queries with aggregates revisited”, UCB/ERL Memo 84/75
– Kiessling
- 1984
|
|
15
|
A Modular Query Optimizer Generator
– Sciore, Sieg
- 1990
|
|
13
|
Optimization of dynamic query execution plans
– Cole, Graefe
- 1994
|
|
12
|
Tolga Urhan. Scrambling Query Plans to Cope With Unexpected Delays
– Amsaleg, Franklin, et al.
- 1996
|
|
11
|
Implementation of magic-sets in a relational database system
– Mumick, Pirahesh
- 1994
|
|
11
|
Software Engineering
– Somerville
- 2001
|
|
10
|
Query optimization in the CROQUE project
– Heuer, Kroger
- 1996
|
|
8
|
A rule-based query optimizer with multiple search strategies
– Finance
- 1994
|