12. A method comprising: in response to receiving a query, determining an execution plan that comprises a plurality of sub-plans that includes a first sub-plan and a second sub-plan; wherein the first sub-plan comprises a first operation, of a first type, that can be performed during execution of the execution plan; wherein the second sub-plan comprises a second operation, of a second type that is different than the first type, that can be performed during execution of the execution plan; wherein no sub-plan in the plurality of sub-plans contains all operations that are required to identify a valid result of the query; after determining the execution plan, executing a portion of the execution plan, wherein executing the portion of the execution plan comprises storing, in a buffer, temporary results of executing the portion; analyzing the temporary results to determine a minimum value, a maximum value, or a number of distinct values, wherein the number of distinct values is less than a number of rows in the buffer; based on the minimum value, the maximum value, or the number of distinct values, determining whether one or more criteria are satisfied; if the one or more criteria are satisfied, then executing the first sub-plan of the plurality of sub-plans without executing the second sub-plan; if the one or more criteria are not satisfied, then executing the second sub-plan of the plurality of sub-plans without executing the first sub-plan; generating a result of the query by completing execution of the execution plan and without reoptimizing the query; wherein the method is performed by one or more computing devices.
12. A method comprising: in response to receiving a query, determining an execution plan that comprises a plurality of sub-plans that includes a first sub-plan and a second sub-plan; wherein the first sub-plan comprises a first operation, of a first type, that can be performed during execution of the execution plan; wherein the second sub-plan comprises a second operation, of a second type that is different than the first type, that can be performed during execution of the execution plan; wherein no sub-plan in the plurality of sub-plans contains all operations that are required to identify a valid result of the query; after determining the execution plan, executing a portion of the execution plan, wherein executing the portion of the execution plan comprises storing, in a buffer, temporary results of executing the portion; analyzing the temporary results to determine a minimum value, a maximum value, or a number of distinct values, wherein the number of distinct values is less than a number of rows in the buffer; based on the minimum value, the maximum value, or the number of distinct values, determining whether one or more criteria are satisfied; if the one or more criteria are satisfied, then executing the first sub-plan of the plurality of sub-plans without executing the second sub-plan; if the one or more criteria are not satisfied, then executing the second sub-plan of the plurality of sub-plans without executing the first sub-plan; generating a result of the query by completing execution of the execution plan and without reoptimizing the query; wherein the method is performed by one or more computing devices. 17. The method of claim 12 , wherein the execution plan includes a third operation that combines multiple bitmap indexes and a fact join operation that combines results of the third operation with a fact table, wherein the method further comprising: prior to executing the portion of the execution plan: determining whether the execution plan includes, after the fact join operation, a join operation of a dimension table that corresponds to a bitmap join; in response to determining that the execution plan does not include, after the fact join operation, a join operation of the dimension table that corresponds to the bitmap join, adding a join operation of the dimension table after the fact join operation; during execution of the execution plan, executing the join operation only if the bitmap join is not performed, wherein the bitmap join is the first operation and the join operation is the second operation.