In database query processing, actual run-time conditions (e.g., actual selectivities and actual available memory) very often differ from compile-time expectations of run-time conditions (e.g., estimated predicate selectivities and anticipated memory availability). Robustness of query processing can be defined as the ability to handle unexpected conditions. Robustness of query execution, specifically, can be defined as the ability to process a specific plan efficiently in an unexpected condition. We focus on query execution (runtime), ignoring query optimization (compile-time), in order to complement existing research and to explore untapped potential for improved robustness in database query processing. One of our initial steps has been to devise diagrams or maps that show how well plans perform in the face of varying run-time conditions and how gracefully a system's query architecture, operators, and their implementation degrade in the face of adverse conditions. In this paper, ...
Goetz Graefe, Harumi A. Kuno, Janet L. Wiener