Optimization of Object-Oriented Queries through Pushing Selections

  • Marcin Drozd
  • Michał Bleja
  • Krzysztof Stencel
  • Kazimierz Subieta
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 186)


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.


Query Language Query Result Query Optimization Query Pattern Object Query 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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
  2. 2.
    Atkinson, M., Morrison, R.: Orthogonally Persistent Object Systems. The VLDB Journal 4(3), 319–401 (1995)CrossRefGoogle Scholar
  3. 3.
    Bleja, M., Kowalski, T., Subieta, K.: Optimization of Object-Oriented Queries through Rewriting Compound Weakly Dependent Subqueries. In: Bringas, P.G., Hameurlain, A., Quirchmayr, G. (eds.) DEXA 2010, Part I. LNCS, vol. 6261, pp. 323–330. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  4. 4.
    Ioannidis, Y.E.: Query Optimization. Computing Surveys 28(1), 121–123 (1996)CrossRefGoogle Scholar
  5. 5.
    Jarke, M., Koch, J.: Query Optimization in Database Systems. ACM Computing Surveys 16(2), 111–152 (1984)MathSciNetMATHCrossRefGoogle Scholar
  6. 6.
    Kowalski, T., et al.: Optimization by Indices in ODRA. In: Proc. 1st ICOODB Conf., pp. 97–117 (2008)Google Scholar
  7. 7.
    Lentner, M., Subieta, K.: ODRA: A Next Generation Object-Oriented Environment for Rapid Database Application Development. In: Ioannidis, Y., Novikov, B., Rachev, B. (eds.) ADBIS 2007. LNCS, vol. 4690, pp. 130–140. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 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. 9.
  10. 10.
    Plodzien, J., Kraken, A.: Object Query Optimization through Detecting Independent Subqueries. Information Systems 25(8), 467–490 (2000)MATHCrossRefGoogle Scholar
  11. 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. 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. 13.
    Subieta, K.: Stack-Based Approach (SBA) and Stack-Based Query Language, SBQL (2008), http://www.sbql.pl
  14. 14.
    Subieta, K.: Stack-based Query Language. In: Encyclopedia of Database Systems, pp. 2771–2772. Springer US (2009)Google Scholar
  15. 15.
    Subieta, K.: Theory and Construction of Object Query Languages. Editors of the Polish-Japanese Institute of Information Technology, Warsaw (2004)Google Scholar
  16. 16.
    VIDE: Visualize All Model Driven Programming. European Commission 6th Framework Programme IST 033606 STP, http://www.vide-ist.eu
  17. 17.
    Warmer, J., Kleppe, A.: Object Constraint Language: Getting Your Models Ready for MDA. Addison Wesley (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Marcin Drozd
    • 1
  • Michał Bleja
    • 1
  • Krzysztof Stencel
    • 2
  • Kazimierz Subieta
    • 3
  1. 1.Faculty of Mathematics and Computer ScienceŁódź UniversityŁódźPoland
  2. 2.Institute of InformaticsWarsaw UniversityWarsawPoland
  3. 3.Polish-Japanese Institute of Information TechnologyWarsawPoland

Personalised recommendations