Common Subexpression Isolation in Multiple Query Optimization

  • Matthias Jarke
Part of the Topics in Information Systems book series (TINF)


The simultaneous optimization of multiple queries submitted to a database system may lead to substantial savings over the current approach of optimizing each query separately. Isolating common subexpressions in multiple queries and treating their execution as a sharable resource are important prerequisites. This chapter presents techniques for recognizing, supporting, and exploiting common subexpressions in record-oriented, relational algebra, domain relational calculus, and tuple relational calculus query representations. It also investigates preconditions that transaction management mechanisms must satisfy to make multiple query optimization effective.


Relational Algebra Concurrency Control Query Evaluation Query Optimization Conjunctive 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. (ARDI79).
    Arditi J, “An optimized backout mechanism for sequential updates”, Proc. 5th VLDB Conference, Rio de Janeiro, 1979, 147–154Google Scholar
  2. (BARB83).
    Barber RE, Lucas HC, “System response time, operator productivity, and job satisfaction”, Communications of the ACM, 26,11, November 1983, 972–986CrossRefGoogle Scholar
  3. (BERN83).
    Bernstein PA, Goodman N, “Multiversion concurrency control-theory and algorithms”, ACM Transactions on Database Systems, 8,4, December 1983, 465–483Google Scholar
  4. (BRAE83).
    Braegger RP, Reimer M, “Predicative scheduling: integration of locking and optimistic methods”, Bericht 53, ETH Zuerich, 1983Google Scholar
  5. (CHAK82).
    Chakravarthy US, Minker J, “Processing multiple queries in database systems”. IEEE Database Engineering, 5,3, September 1982, 38–43Google Scholar
  6. (CHES83).
    Chesnais A, Gelenbe E, Mitrani I, “On the modelling of parallel access to shared data”, Communications of the ACM 26,3,1983, 196–202Google Scholar
  7. (ESWA76).
    Eswaran KP, Gray JN, Lorie RA, Traiger IL, “The notions of consistency and predicate locks in a database system”, Communications of the ACM, 19,11, 1976, 624–633CrossRefMATHMathSciNetGoogle Scholar
  8. (FINK82).
    Finkelstein S, “Common expression analysis in database applications”, Proc. ACM-SIGMOD Conference, Orlando, 1982, 235–345Google Scholar
  9. (GRAN81).
    Grant J, Minker J, “Optimization in deductive and conventional relational database systems”, Gallaire H, Minker J, Nicholas JM (eds), Advances in Database Theory, Plenum, New York, 1981, 195–234Google Scholar
  10. (GRAY75).
    Gray JN, Lorie RA, Putzolu GR, “Granularity of locks in a shared database”, Proc. 1st VLDB Conference, Framingham, MA, 1975, 428–451Google Scholar
  11. (HALL76).
    Hall PAV, “Optimization of a single relational expression in a relational database”, IBM Journal of Research and Development, 20, 1976, 244–257CrossRefMATHGoogle Scholar
  12. (HENS84).
    Henschen L, Naqvi S, “On compiling queries in recursive first-order databases”, Journal of the ACM 31, 1984,47–85.CrossRefMATHMathSciNetGoogle Scholar
  13. (HEVN81).
    Hevner AR, Yao SB, “Transaction optimization on a distributed database system”, Technical Report HR-81–259, Honeywell Corporate Computer Science Center, Bloomington, MN, 1981Google Scholar
  14. (JARK82).
    Jarke M, Schmidt JW, “Query processing strategies in the PASCAL/R relational database management system”, Proc. ACM SIGMOD Conference, Orlando, 1982, 256–264Google Scholar
  15. (JARK83).
    Jarke M, Koch J, “Range nesting: a fast method to evaluate quantified queries”, Proc. ACM SIGMOD Conference, San Jose, 1983, 196–206Google Scholar
  16. (JARK84a, see JARK84b).
    Jarke M, Clifford J, Vassiliou Y, “An optimizing PROLOG front-end to a relational query system”, Proc. ACM SIGMOD Conference, Boston, 1984Google Scholar
  17. (JARK84b, see JARK84c).
    Jarke M, Koch J, Schmidt JW, “Introduction to query processing”, this volume.Google Scholar
  18. (KEDE83).
    Kedem ZM, Silberschatz A, “Locking protocols: from exclusive to shared locks, Journal of the ACM, 30, 4,1983, 787–804CrossRefMATHGoogle Scholar
  19. (KIM81).
    Kim W, “Query optimization for relational database Systems”, IBM Technical Report RJ3081, San Jose, 1981Google Scholar
  20. (KOWA81).
    Kowalski R, Logic as a Database Language, Imperial College, London, 1981Google Scholar
  21. (MALL84).
    Mall M, Reimer M, Schmidt JW, “Data selection, sharing and access control in a relational scenario”, in [BROD84]Google Scholar
  22. (MARC84).
    March ST, “Physical database design: techniques for improved database performance”, this volumeGoogle Scholar
  23. (MARQ84).
    Marque-Pucheu G, Martin-Gallausiaux J, Jomier G, “Interfacing Prolog and relational data base management systems”, Gardarin G, Gelenbe E (Eds), New Applications of Data Bases, Academic Press, 1984Google Scholar
  24. (MINK83).
    Minker J, Nicolas JM, “On recursive axioms in deductive databases”, Information Systems, 8,1983, 1–13CrossRefMATHGoogle Scholar
  25. (MUNZ79).
    Münz R, Schneider HJ, Steyer F, “Application of sub-predicate tests in database systems”, Proc. 5th VLDB Conference, Rio de Janeiro, 1979, 426–435.Google Scholar
  26. (NIEV84).
    Nievergelt J, Hinterberger H, Sevcik KC, “The grid file: an adaptable, symmetric multi-key file structure”, ACM Transactions on Database Systems, 9,1, March 1984, 38–71Google Scholar
  27. (REIM83).
    Reimer M, “Solving the phantom problem by predicative optimistic concurrency control”, Proc. 9th VLDB Conference, Florence, 1983, 81–88.Google Scholar
  28. (RIES77).
    Ries DR, Stonebraker M, “Effects of locking granularity in a database management system”, ACM Transations on Database Systems, 2,3, 1977, 233–246Google Scholar
  29. (ROSE80).
    Rosenkrantz DJ, Hunt MB, “Processing conjunctive predicates and queries”, Proc. 6th VLDB Conference, Montreal, 1980, 64–74Google Scholar
  30. (ROUS82a).
    Roussopoulos N, “View indexing in relational databases”, ACM Transactions on Database Systems, 7,1982, 258–290CrossRefMATHGoogle Scholar
  31. (ROUS82b).
    Roussopoulos N, “The logical access path schema of a database”, IEEE Transactions on Software Engineering SE-8, 6,1982, 563–573CrossRefMathSciNetGoogle Scholar
  32. (SAGI80).
    Sagiv Y, Yannakakis M, “Equivalences among relational expressions with the union and difference operators”, Journal of the ACM, 21,4, 1980, 633–655Google Scholar
  33. (SCHM80).
    Schmidt JW, Mall M, “Pascal/R Report”, Report 66, Fachbereich Informatik, University of Hamburg, 1980Google Scholar
  34. (SCHM83).
    Schmidt, JW, Mall M, “Abstraction mechanisms for database programming,” Proc. ACM SIGPLAN Symposium on Programming Languages in Software Systems, SIGPLAN Notices, 18,6, San Francisco, 1983Google Scholar
  35. (SHNE76).
    Shneiderman B, Goodman V, “Batched searching of sequential and tree structured files”, ACM Transactions on Database Systems, 1,3, September, 268–275Google Scholar
  36. (SMIT75).
    Smith JM, Chang PYT, “Optimizing the performance of a relational algebra database interface”, Communications of the ACM, 18,10, October 1975, 568–579Google Scholar
  37. (WONG76).
    Wong E, Youssefi K, “Decomposition-a strategy for query processing”, ACM Transactions on Database Systems, 1, 3, September 1976, 223–241CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Matthias Jarke

There are no affiliations available

Personalised recommendations