1. A method for managing an execution environment, comprising: applying opportunistic materialized views; executing a plan on multiple database engines to increase query processing speed by enabling stages of a query to execute on multiple engines, and by moving materialized views across engines; determining a multi-store execution plan P, as: 
 P =( G,ƒ,t ) where G represents a directed acyclic graph (DAG) for a plan, and is ordered topologically with a vertex in G corresponding to a stage s in plan P, ƒ:P E is a mapping function that maps a stage in P to an execution engine in E, t:V E is a transfer function that indicates transfer of views in V to an engine in E, and a stage sεP may be executed on any engine; and determining a multi-store configuration created after executing all plans prior to P i by: inputDesign ⁡ ( P i , D ) = { D , i = 1 outputDesign ⁡ ( P i - 1 , inputDesign ⁡ ( P i - 1 , ⁢ D ) ) , otherwise where outputDesign(P,D)=outputDesign(s′,D), where s′ is the last stage of P.