Optimization of Object-Oriented Queries through Pushing Selections
We propose a new optimization method for object-oriented queries. The method enables pushing selection conditions before structure constructors, joins and quantifiers. A less general variant of this method is known from relational systems and SQL as pushing a selection before a join. If a query involves a selection which predicates refer to proper arguments of a structure constructor or a join or a quantifier that occurs at the left-hand subquery of this query then it can be rewritten. The rewriting consists in pushing such predicates down before a proper operator. The approach follows the stack-based approach (SBA) and its query language SBQL (Stack-Based Query Language). The assumed strong typing based on the compile time simulation of run-time actions gives the possibility to solve this optimization problem in its full generality. The paper presents examples how the optimization method works. General features of the implemented algorithm are also presented.
KeywordsQuery Language Query Result Query Optimization Query Pattern Object Query
Unable to display preview. Download preview PDF.
- 1.Adamus, R., et al.: Overview of the Project ODRA. In: Proc. 1st ICOODB Conf., pp. 179–197 (2008) ISBN 078-7399-412-9Google Scholar
- 6.Kowalski, T., et al.: Optimization by Indices in ODRA. In: Proc. 1st ICOODB Conf., pp. 97–117 (2008)Google Scholar
- 8.Subieta K.: ODRA (Object Database for Rapid Application development) Description and Programmer Manual (2008), http://www.sbql.pl/various/ODRA/ODRA_manual.html
- 9.Official Microsoft LINQ Project, http://msdn.microsoft.com/en-us/netframework/aa904594.aspx
- 11.Plodzien, J., Subieta, K.: Static Analysis of Queries as a Tool for Static Optimization. In: Proc. IDEAS, pp. 117–122 (2001)Google Scholar
- 12.Stencel, K.: Semi-strong Type Checking in Database Programming Languages. Editors of the Polish-Japanese Institute of Information Technology, Warsaw (2006)Google Scholar
- 13.Subieta, K.: Stack-Based Approach (SBA) and Stack-Based Query Language, SBQL (2008), http://www.sbql.pl
- 14.Subieta, K.: Stack-based Query Language. In: Encyclopedia of Database Systems, pp. 2771–2772. Springer US (2009)Google Scholar
- 15.Subieta, K.: Theory and Construction of Object Query Languages. Editors of the Polish-Japanese Institute of Information Technology, Warsaw (2004)Google Scholar
- 16.VIDE: Visualize All Model Driven Programming. European Commission 6th Framework Programme IST 033606 STP, http://www.vide-ist.eu
- 17.Warmer, J., Kleppe, A.: Object Constraint Language: Getting Your Models Ready for MDA. Addison Wesley (2003)Google Scholar