Proactive re-optimization with Rio
Traditional query optimizers rely' on the accuracy of estimated statistics of intermediate subexpressions to choose good query execution plans, This design often leads to suboptiinal plan choices for complex queries since errors in estimates grow exponentially in the presence of skewed and correlated data distributions, We propose to demonstrate the Rio prototype database system that uses proactive re-optimization to address the problems with traditional optimizers. Rio supports three new techniques: 1. Intervals of uncertainty are considered around estimates of statistics during plan enumeration and costing 2. These intervals are used to pick execution plans that are robust to deviations of actual values of statistics from estimated values, or to defer the choice of execution plan until the uncertainty in estimates can be resolved 3. Statistics of intermediate subexpressions are collected quickly, accurately, and efficiently during query execution These three features are fully functional in the current Rio prototype which is built using the Predator open-source DBMS [5]. In this proposal, we first describe the novel features of Rio, then we use an example query to illustrate the main aspects of our demonstration. Copyright 2005 ACM.