Introduction to Query Processing

  • Matthias Jarke
  • Jürgen Koch
  • Joachim W. Schmidt
Part of the Topics in Information Systems book series (TINF)


Query processing in databases can be divided into two steps: selecting an ‘optimal’ evaluation strategy, and executing it. We first present elementary nested loop and relational algebra algorithms for query execution and point out some opportunities for improving their performance. A survey of optimization strategies, structured in query transformation techniques and access planning methods, follows. Finally, extensions for special-purpose query systems are briefly addressed.


Query Processing Integrity Constraint Relational Algebra Nest Loop Query Optimization 
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. [AHOS79, see AHO79]
    Aho AV, Sagiv Y, Ullmann JD, “Efficient optimization of a class of relational expressions”, ACM Transactions on Database Systems, 4,4, December 1979, 435–454CrossRefGoogle Scholar
  2. [APER83]
    Apers PMG, Hevner AR, Yao SB, “Optimization algorithms for distributed queries”, IEEE Transactions on Software Engineering, SE-9,1, January 1983, 57–68CrossRefGoogle Scholar
  3. [BERN81a]
    Bernstein PA, Chiù DM, “Using semi-joins to solve relational queries”, Journal of the ACM, 28,1, January 1981, 25–40MATHCrossRefGoogle Scholar
  4. [BERN81b, see BERN81c]
    Bernstein PA, Goodman N, “The power of inequality semi-joins”, Information Systems, 6,1981, 255–265MATHCrossRefGoogle Scholar
  5. [BERN81c, see BERN81d]
    Bernstein PA, Goodman N, Wong E, Reeve CL, Rothnie JB, “Query processing in a system for distributed databases (SDD-1)”, ACM Transactions on Database Systems 6,4, December 1981,602–625Google Scholar
  6. [CERI82]
    Ceri S, Pelagatti G, “Allocation of operations in distributed databases”, IEEE Transactions on Computers, C-31, January 1982, 119–128Google Scholar
  7. [CHAM81, see CHAM81a]
    Chamberlin DD, Astrahan MM, King WF, Lorie RA, Mehl, JW, Price TG, Schkolnick M, Griffiths Seiinger P, Slutz DR, Wade BW, Yost RA, “Support for repetitive transactions and ad hoc queries in System R”, ACM Transactions on Database Systems, 6,1, March 1981. Also available as IBM Research Laboratory RJ2551, San Jose, CalifGoogle Scholar
  8. [CHAN77, see CHAN77a]
    Chandra AK, Merlin PM, “Optimal implementation of conjunctive queries in relational databases”, Proc. 9th ACM Symposium on Theory of Computation, Boulder, Co., 1977, 77–90.Google Scholar
  9. [CHAN82, see CHAN82a]
    Chandra AK, Harel P, “Structure and complexity of relational queries”, Journal of Computing System Sciences, 25, 1982, 99–128MATHCrossRefGoogle Scholar
  10. [CHEU82]
    Cheung TY, “A method for equi-join queries in distributed relational databases”, IEEE Transactions on Computers, C-31, August 1982, 746–751.Google Scholar
  11. [CHIU80, see CHIU80a]
    Chiù DM, Ho YC, “A methodology for interpreting: tree queries into optimal semi-join expressions”, Proc. ACM SIGMOD, Intl. Conf on Management of Data, Santa Monica, 1980,169–178Google Scholar
  12. [CHIU81]
    Chiù DM, Bernstein PA, Ho YC, “Optimizing chain queries in a distributed database system”, TR-01–81, Harvard University, 1981Google Scholar
  13. [CHRI81]
    Christodoulakis S, “Estimating selectivities in data bases”, Ph. D. Dissertation, University of Toronto, 1981Google Scholar
  14. [CHUH82, see CHU82]
    Chu WW, Hurley P, “Optimal query processing for distributed database systems”, IEEE Transactions on Computers, C-31, September 1982, 835–850Google Scholar
  15. [CODD72, see CODD72b]
    Codd EF, “Relational completeness of database sublanguages”, Database Systems, Prentice Hall, 1972, 67–101Google Scholar
  16. [DAYA82 see DAYA82b]
    Dayal U, Goodman N, “Query optimization for COD ASYL database systems”, Proc. ACM SIGMOD Conference, Orlando, June 1982, 138–150Google Scholar
  17. [DAYA83, see DAYA83b]
    Dayal U, “Processing queries with quantifiers: a horticultural approach”, Proc. ACM PODS Conference, 1983, 125–136Google Scholar
  18. [DEWI79]
    DeWitt DJ, “Query execution in DIRECT”, Proc. ACM SIGMOD Conference, Boston, 1979, 13–22Google Scholar
  19. [EGGE801 [EPST78]
    Epstein R, Stonebraker M, Wong E, “Distributed query processing in a relational data base system”,Proc. ACM SIGMOD Conference, Austin, TX, May 1978, 169–180Google Scholar
  20. [FINK82]
    Finkelstein S, “Common expression analysis in database applications”, Proc. ACM-SIGMOD Conference, Orlando, 1982, 235–345Google Scholar
  21. [GAVI82]
    Gavish B, Segev A, “Query optimization in distributed computer systems”, Akoka J (ed), Management of Distributed Data Processing, North-Holland, 1982, 233–252Google Scholar
  22. [GELE82]
    Gelenbe E, Gardy D, “The size of projections of relations satisfying a functional dependency”, Proc. 8th VLDB Conference, Mexico City, 1982, 325–333Google Scholar
  23. [GOOD82, see GOOD82c]
    Goodman N, Shmueli O, “Tree queries: a simple class of relational queries”, ACM Transactions on Database Systems, 7,4, December 1982, 653–677Google Scholar
  24. [GOUD81]
    Gouda MG, Dayal UD, “Optimal semijoin schedules for query processing in local distributed database systems”, Proc. ACM SIGMOD Conference, Ann Arbor, 1981, 164–175Google Scholar
  25. [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
  26. [GRAY81]
    Gray J, “The transaction concept: virtues and limitations”, Proc. 7th VLDB Conference, Cannes, 1981,144–154Google Scholar
  27. [HALL76]
    Hall PAV, “Optimization of a single relational expression in a relational database”, IBM Journal of Research and Development, 20, 1976, 244–257MATHCrossRefGoogle Scholar
  28. [HAMM80]
    Hammer M, Zdonik S, “Knowledge-based query processing”, Proc. 6th VLDB Conference, Montreal, 1980,137–147Google Scholar
  29. [HENS84]
    Henschen L, Naqvi S, “On compiling queries in recursive first-order databases”, Journal of the ACM 31, 1984,47–85.MATHMathSciNetCrossRefGoogle Scholar
  30. [HEVN79]
    Hevner AR, Yao SB, “Query processing in distributed database systems”, IEEE Transactions on Software Engineering, SE-5,3, May 1979, 177–187CrossRefGoogle Scholar
  31. [IEEE82]
    IEEE, Database Engineering, Katz R, (ed), June 1982Google Scholar
  32. [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
  33. [JARK83]
    Jarke M, Koch J, “Range nesting: a fast method to evaluate quantified queries”, Proc. ACM SIGMOD Conference, San Jose, 1983, 196–206Google Scholar
  34. [JARK84C, see JARK84a]
    Jarke M, Vassiliou Y, “Coupling expert systems with database management systems”, Reitman W (ed), Artificial Intelligence Applications for Business, Ablex, Norwood, NJ, 1984, 65–85Google Scholar
  35. [JARK84a, see JARK84d]
    Jarke M, “Common subexpression isolation in multiple query optimization”, this volumeGoogle Scholar
  36. [JARK84b]
    Jarke M, Clifford J, Vassiliou Y, “An optimizing PROLOG front-end to a relational query system”, Proc. ACM SIGMOD Conference, Boston, 1984Google Scholar
  37. [JOHN83]
    Johnston HR, Schweitzer JE, Warkentine ER,;tA DBMS facility for handling structured engineering entities”, Proc. Database Week: Engineering Design Applications Conference, San Jose 1983, 3–12Google Scholar
  38. [KAMB83, see KAMB83a]
    Kambayashi Y, Yoshikawa M, “Query processing utilizing dependencies and horizontal decomposition”, Proc. ACM SIGMOD Conference, San Jose, May 1983, 55–57Google Scholar
  39. [KAMB84]
    Kambayashi Y, “Processing cyclic queries”, this volumeGoogle Scholar
  40. [KATZ82, see KATZ82a]
    Katz R, Wong E, “Decompiling COD ASYL DML into relational queries”, ACM Transactions on Database Systems, 7,1, March 1982, 1–23Google Scholar
  41. [KERS82]
    Kerschberg L, Ting PD, Yao SB, “Query optimization in star computer networks”, ACM Transactions on Database Systems, 7,4, December 1982, 678–711Google Scholar
  42. [KIM80, see KIM80a]
    Kim W, “A new way to compute the product and join of relations”, Proc. ACM S1GMOD Conference, Santa Monica, 1980, 179–187.Google Scholar
  43. [KIM82]
    Kim W, “On optimizing an SQL-like nested query”, ACM Transactions on Database Systems, 7,3 September 1982,443–469. Also available as IBM Research Laboratory RJ3063, San Jose, CaliforniaGoogle Scholar
  44. [KIM84, see KIM84b]
    Kim W, “Global optimization of relational queries: a first step”, this volumeGoogle Scholar
  45. [KING81]
    King JJ, QUIST: “A system for semantic query optimization in relational data bases”, Proc. 7th VLDB Conference, Cannes, 1981, 510–516Google Scholar
  46. [KLUG82a]
    Klug A, “Equivalence of relational algebra and relational calculus query languages having aggregate functions”, Journal of the ACM, 29,1982, 699–717MATHCrossRefGoogle Scholar
  47. [KLUG82b]
    Klug A, “Access paths in the ABE statistical query facility”, Proc. ACM SIGMOD Conference, Orlando, 1982,161–173Google Scholar
  48. [KOOI82]
    Kooi R, Frankforth, D., “Query optimization in INGRES”.Google Scholar
  49. [KUNI82]
    Kunifuji S, Yokota H, “Prolog and relational databases for Fifth Generation Computer Systems”, Proc. Workshop on Logical Bases for Data Bases, Toulouse, December 1982Google Scholar
  50. [LAME84]
    Lamersdorf W, “Recursive data models for non-conventional database applications”, Proc. IEEE COMPDEC Conference, Los Angeles, 1984Google Scholar
  51. [LANG78]
    Langdon JJ, “A note on associative processors for data management”, ACM Transactions on Database Systems 3, 1982,148–158.CrossRefGoogle Scholar
  52. [LORI84]
    Lorie R, Kim W, McNabb D, Plouffe W, Meier A, “Supporting complex objects in a relational system for engineering databases”, this volumeGoogle Scholar
  53. [MARC84]
    March ST, “Physical database design: techniques for improved database performance”, this volumeGoogle Scholar
  54. [MAIE83]
    Maier D, The Theory of Relational Databases, Computer Science Press, 1983Google Scholar
  55. [MARY80]
    Maryanski FJ, “Backend database systems”, ACM Computing Surveys 12, 1980, 3–26.CrossRefGoogle Scholar
  56. [MINK78]
    Minker J, “Search strategy and selection function for an inferential relational system”, ACM Transactions on Database Systems, 3, 1978, 1–31MathSciNetCrossRefGoogle Scholar
  57. [MINK83]
    Minker J, Nicolas JM, “On recursive axioms in deductive databases”, Information Systems, 8,1983, 1–13MATHCrossRefGoogle Scholar
  58. [MUTH83]
    Muthuswamy B, Kerschberg L, “Distributed query optimization using detailed database statistics”, unpublished manuscript, University of South Carolina, May 1983Google Scholar
  59. [NICO83]
    Nicolas JM, Yazdanian K, “An outline of BDGEN: a deductive DBMS”, Mason RE (ed), Information Processing 83, North Holland, Amsterdam, 1983, 711–717Google Scholar
  60. [OTTH82, see OTT82]
    Ott N, Horlaender K, “Removing redundant joins in queries involving views”, IBM Heidelberg Scientific Center Technical Report TR-82.03.003, 1982Google Scholar
  61. [OZKA82]
    Ozkarahan EA, “Database machines/computer-based distributed databases”, Proc. 2nd Internatio-nal Symposium on Distributed Databases, Berlin 1982, 61–80Google Scholar
  62. [OZSO80]
    Ozsoyoglu M, Yu CT, “On identifying a class of database queries that can be processed efficiently”, Proc. IEEE COMPSAC Conference, October 1980, 453–461Google Scholar
  63. [OZSO84, see OZSO84b]
    Ozsoyoglu M, Ozsoyoglu G,”A query language for statistical databases”, this volumeGoogle Scholar
  64. [PALE72]
    Palermo FP, “A data base search problem”, Proceedings 4th Computer and Information Science Symposium, Miami Beach, 1972, 67–101Google Scholar
  65. [REIN84]
    Reiner DS, Rosenthal A, “Querying relational views of networks”, this volumeGoogle Scholar
  66. [REIT78]
    Reiter R, “Deductive question-answering on relational data bases”, Logic and Databases, Gallaire H, Minker J, (eds), Plenum New York, 1978, 149–178Google Scholar
  67. [RICH81]
    Richard P, “Evaluation of the size of a query expressed in relational algebra”, Proc. ACM SIGMOD Conference, Ann Arbor, 1981, 155–163Google Scholar
  68. [ROSE80]
    Rosenkrantz DJ, Hunt MB, “Processing conjunctive predicates and queries”, Proc. 6th VLDB Conference, Montreal, 1980, 64–74Google Scholar
  69. [ROSE82, see ROSE82a]
    Rosenthal A, Reiner D, “An architecture for query optimization”, ACM SIGMOD Conference, Orlando, 1982, 246–255Google Scholar
  70. [ROUS82, see ROUS82a]
    Roussopoulos N, “View indexing in relational databases”, ACM Transactions on Database Systems, 7,1982, 258–290MATHCrossRefGoogle Scholar
  71. [SACC82]
    Sacco GM, Schkolnick M, “A mechanism for managing the buffer pool in a relational database system using the hot set model”, Proc. 8th VLDB Conference, Mexico City, 1982, 257–262Google Scholar
  72. [SAGI81, see SAGI81b]
    Sagiv Y, Optimization of Queries in Relational Databases, UMI Research Press, Ann Arbor, 1981Google Scholar
  73. [SCHE82]
    Scheck HJ, Pistor P, “Data structures for an integrated data base management and information retrieval system”, Proc. 8th VLDB Conference, Mexico City, 1982Google Scholar
  74. [SCHM77]
    Schmidt JW, “Some high level language constructs for data of type relation”, A CM Transactions on Database Systems, 2,3, September 1977, 247–261Google Scholar
  75. [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
  76. [SELI79]
    Seiinger PG, Astrahan MM, Chamberlin DD, Lorie RA, Price TG, “Access path selection in a relational database management system”, Proc. ACM-SIGMOD Conference, Boston, May 1979. Also available as IBM Research Laboratory RJ2429, San Jose, CaliforniaGoogle Scholar
  77. [SELI80]
    Selinger PG, Adiba M, “Access path selection in distributed database management systems”, Proc. International Conference on Data Bases, Deen and Hammersly (eds), University of Aberdeen, July 1980, 204–215. Also available as IBM Research Laboratory RJ2883, San Jose, CaliforniaGoogle Scholar
  78. [SHNE76]
    Shneiderman B, Goodman V, “Batched searching of sequential and tree structured files”, ACM Transactions on Database Systems, 1,3, September, 268–275Google Scholar
  79. [SHOS82]
    Shoshani A, “Statistical database: characteristics, problems and some solutions”, Proc. 8th VLDB Conference, Mexico City, 1982, 208–222Google Scholar
  80. [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
  81. [SMIT81]
    Smith JM, Bernstein PA, Dayal U, Goodman N, Landers TA, Lin KWT, Wong E, “MULTIBASE-integrating heterogeneous distributed database systems”, Proc. AFIPS National Computer Conference, 5, 1981, 487–499Google Scholar
  82. [STON75]
    Stonebraker M, “Implementation of integrity constraints and views by query modification”, Proc. ACM SIGMOD Conference, San Jose, California, 1975, 65–77Google Scholar
  83. [SU79]
    Su S, “Cellular logic devices: concepts and applications”, IEEE Computer 12, 1979,11–25CrossRefGoogle Scholar
  84. [ULLM82]
    Ullman JD, Principles of Database Systems, Second Ed., Computer Science Press, 1982.MATHGoogle Scholar
  85. [VALD84]
    Valduriez P, Gardarin G, “Join and semi-join algorithms for a multiprocessor database machine”, ACM Transactions on Database Systems, 9, 1984, 133–161CrossRefGoogle Scholar
  86. [VASS83]
    Vassiliou Y, Clifford J, Jarke M, “How does an expert system get its data?”, Proc. 9th VLDB Conference, Florence, October 1983, 70–72Google Scholar
  87. [VASS84, see VASS85]
    Vassiliou Y, Clifford J, Jarke M, “Database access requirements of knowledge-based systems”, this volumeGoogle Scholar
  88. [WARR81]
    Warren DHD, “Efficient processing of interactive relational data base queries expressed in logic”, Proc. 7th VLDB Conference, Cannes, 1981, 171–283Google Scholar
  89. [WHAN83, see WHAN83b]
    Whang K, Wiederhold G, Sagalowicz D, “Estimating block accesses in database organizations-a closed noniterative formula”, Commun. ACM, 26,11, 1983, 940–944Google Scholar
  90. [WONG76]
    Wong E, Youssefi K, “Decomposition-a strategy for query processing”, ACM Transactions on Database Systems, 1, 3, September 1976, 223–241CrossRefGoogle Scholar
  91. [YAO79]
    Yao SB, “Optimization of query evaluation algorithms”, A CM Trans Database Systems, 4,2, June 1979, 133–155Google Scholar
  92. [YOUS79]
    Youssefi K, Wong E, “Query processing in a relational database management system”, Proceedings 5th VLDB Conference, Rio de Janeiro, 1979, 409–417Google Scholar
  93. [YUCH83, see YU83]
    Yu, CT, Chang CC, “On the design of a query processing strategy in a distributed database environment”, Proc. ACM SIGMOD Conference, San Jose, 1983, 30–39Google Scholar
  94. [YUOZ79, see YU79b]
    Yu CT, Ozsoyoglu MZ, “An algorithm for tree-query membership of a distributed query”, IEEE COMPSAC, Chicago, November 1979, 306–312Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Matthias Jarke
  • Jürgen Koch
  • Joachim W. Schmidt

There are no affiliations available

Personalised recommendations