Patent ID: 7930294

Claim:
A method for partitioning a query, comprising the steps of: establishing one or more criterion for partitioning a query, wherein the query comprises one or more tables, and wherein establishing one or more criterion for partitioning a query is carried out by a component executing on a hardware processor; materializing a first of the one or more tables, wherein materializing a first of the one or more tables is carried out by a component executing on a hardware processor; partitioning the first of the one or more tables until the one or more criterion have been satisfied, wherein partitioning the first of the one or more tables is carried out by a component executing on a hardware processor; partitioning and joining a remainder of the one or more tables of the query, wherein partitioning and joining a remainder of the one or more tables is carried out by a component executing on a hardware processor; and aggregating all one or more parts of the materialized table and re-partitioning it granularly for further parallel query processing if a current parallel partitioning on the materialized table does not provide even partition but its real-time materialized result can provide one or more sufficient even partitions, wherein aggregating all one or more parts of the materialized table and re-partitioning it granularly for further parallel query processing is carried out by a component executing on a hardware processor.