7. A processor-implemented method to execute on one or more processors that perform the method, comprising; receiving an original query plan comprising query nodes that include one or more database operations; transforming the original query plan into an equivalent executable compact query plan; storing the compact query plan on a machine readable device; computing maximal source sub-queries associated with the compact query plan; and computing, using one or more processors, semi-join reductions of the maximal source sub-queries associated with the compact query plan to generate a derivative query plan, wherein the compact query plan comprises at least two source nodes including scan operations to source tables, the at least two source nodes coupled to at least one abstract node and at least one singleton node, wherein a child of the at least one abstract node comprises at east one of the source nodes or the at least one singleton node, but not another abstract node.
7. A processor-implemented method to execute on one or more processors that perform the method, comprising; receiving an original query plan comprising query nodes that include one or more database operations; transforming the original query plan into an equivalent executable compact query plan; storing the compact query plan on a machine readable device; computing maximal source sub-queries associated with the compact query plan; and computing, using one or more processors, semi-join reductions of the maximal source sub-queries associated with the compact query plan to generate a derivative query plan, wherein the compact query plan comprises at least two source nodes including scan operations to source tables, the at least two source nodes coupled to at least one abstract node and at least one singleton node, wherein a child of the at least one abstract node comprises at east one of the source nodes or the at least one singleton node, but not another abstract node. 8. The method of claim 7 , further comprising; grouping the database operations within the at least one abstract node into sets of operations; and determining a set of precedence links between the sets that define exactly all ordering dependencies between the sets.