Advanced compiler optimizations for supercomputers
Communications of the ACM - Special issue on parallelism
Optimization of nested SQL queries revisited
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
ACM Transactions on Database Systems (TODS)
Grammar-like functional rules for representing query optimization alternatives
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
Optimization and dataflow algorithms for nested tree queries
VLDB '89 Proceedings of the 15th international conference on Very large data bases
The O2 database programming language
VLDB '89 Proceedings of the 15th international conference on Very large data bases
Proceedings of the second international workshop on Database programming languages
A performance evaluation of pointer-based joins
SIGMOD '90 Proceedings of the 1990 ACM SIGMOD international conference on Management of data
Optimizing loops in database programming languages
DBPL3 Proceedings of the third international workshop on Database programming languages : bulk types & persistent data: bulk types & persistent data
SIGMOD '85 Proceedings of the 1985 ACM SIGMOD international conference on Management of data
Decompiling CODASYL DML into retional queries
ACM Transactions on Database Systems (TODS)
On optimizing an SQL-like nested query
ACM Transactions on Database Systems (TODS)
Some high level language constructs for data of type relation
ACM Transactions on Database Systems (TODS)
Implementation techniques for main memory database systems
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
VLDB '87 Proceedings of the 13th International Conference on Very Large Data Bases
A very high level language and optimized implementation design for relational databases
A very high level language and optimized implementation design for relational databases
Rule-based query optimization in extensible database systems
Rule-based query optimization in extensible database systems
Database research at Wisconsin
ACM SIGMOD Record
Database research at AT&T Bell Laboratories
ACM SIGMOD Record
Tutorial: languages for collection types
PODS '94 Proceedings of the thirteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
How to Comprehend Queries Functionally
Journal of Intelligent Information Systems - Special issue on functional approach to intelligent information systems
Optimizing Queries with Object Updates
Journal of Intelligent Information Systems - Special issue on functional approach to intelligent information systems
Investigation of Algebraic Query Optimisation Techniques for Database Programming Languages
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
Algebraic query optimisation for database programming languages
The VLDB Journal — The International Journal on Very Large Data Bases
Supporting procedural constructs in existing SQL compilers
CASCON '96 Proceedings of the 1996 conference of the Centre for Advanced Studies on Collaborative research
Compiler support for efficient processing of XML datasets
ICS '03 Proceedings of the 17th annual international conference on Supercomputing
Efficient evaluation of XQuery over streaming data
VLDB '05 Proceedings of the 31st international conference on Very large data bases
Rewriting procedures for batched bindings
Proceedings of the VLDB Endowment
Avalanche-safe LINQ compilation
Proceedings of the VLDB Endowment
Loop elimination for database updates
BNCOD'13 Proceedings of the 29th British National conference on Big Data
Hi-index | 0.00 |
Database programming languages like O2, E, and O++ include the ability to iterate through a set. Nested iterators can be used to express joins. This paper describes compile-time optimizations similar to relational transformations like join reordering for such programming constructs. This paper also shows how to use a standard transformation-based optimizer to optimize these joins. An optimizer built using the EXODUS Optimizer Generator [GRAE87] was added to the Bell Labs O++ [AGRA89] compiler. We used the resulting optimizing compiler to experimentally validate the ideas in this paper. The experiments show that this technique can significantly improve the performance of database programming languages.