Performance Improvement for Collection Operations Using Join Query Optimization

Programming languages with explicit support for queries over collections allow programmers to express operations on collections more abstractly than relying on their realization in loops or through provided libraries. Join optimization techniques from the field of database technology support efficient realizations of such language constructs. We describe an algorithm that performs run-time query optimization and is effective for single runs of a program. The proposed approach relies on histograms built from the data at run time to estimate the selectivity of joins and predicates in order to construct query plans. Information from earlier executions of the same query during run time can be leveraged during the construction of the query plans, even when the data has changed between these executions. Experimental results demonstrate improvement over earlier approaches, such as JQL.

[1]  Donald Kossmann,et al.  Iterative dynamic programming: a new class of query optimization algorithms , 2000, TODS.

[2]  David J. DeWitt,et al.  Efficient mid-query re-optimization of sub-optimal query execution plans , 1998, SIGMOD '98.

[3]  Surajit Chaudhuri,et al.  Self-tuning histograms: building histograms without looking at data , 1999, SIGMOD '99.

[4]  G. Bowden Wise An overview of the standard template library , 1996, SIGP.

[5]  Timos K. Sellis,et al.  Parametric query optimization , 1992, The VLDB Journal.

[6]  Surajit Chaudhuri,et al.  An overview of query optimization in relational systems , 1998, PODS.

[7]  Edmond Schonberg,et al.  Programming with Sets: An Introduction to SETL , 1986 .

[8]  Brian Beckman,et al.  LINQ: reconciling object, relations and XML in the .NET framework , 2006, SIGMOD Conference.

[9]  Thomas Weigert,et al.  Exploring Query Optimization in Programming Codes by Reducing Run-Time Execution , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference.

[10]  James Noble,et al.  Caching and incrementalisation in the java query language , 2008, OOPSLA.

[11]  Goetz Graefe,et al.  Optimization of dynamic query evaluation plans , 1994, SIGMOD '94.

[12]  Evaggelia Pitoura Query Optimization , 2009, Encyclopedia of Database Systems.

[13]  David J. DeWitt,et al.  Progressive Parametric Query Optimization , 2009, IEEE Transactions on Knowledge and Data Engineering.

[14]  Yossi Matias,et al.  Fast incremental maintenance of approximate histograms , 1997, TODS.

[15]  Yannis E. Ioannidis,et al.  Query optimization , 1996, CSUR.

[16]  James Noble,et al.  Efficient Object Querying for Java , 2006, ECOOP.