Patent ID: 7958160

Claim:
A method comprising the steps of: receiving, at a database server, a first query that includes (1) a first select statement and (2) a second query in a clause of the first query, wherein the second query includes a second select statement; determining, at the database server, to parallelize first operation of a subquery operation or a filter operation, wherein the subquery operation is an operation required to execute the-second query, wherein the filter operation uses results produced by the subquery operation; determining, at the database server, not to parallelize a second operation, wherein the second operation is the other operation of the subquery operation or the filter operation: wherein the database server determines not to parallelize the second operation based, at least in part, on one of more of: a cost associated with parallelizing the second operation, data that declares an object involved in the second operation to be serial, or semantics of a predicate associated with the second operation; generating an execution plan that includes representations corresponding to both the subquery operation and the filter operation; using a set of slave processes to access either the execution plan or an equivalent execution plan, wherein the set of slave processes participate in parallel execution of the first operation; and executing the second operation in serial; wherein the method is performed by one or more computing devices.