Patent ID: 7593926

Claim:
A computer-implemented method of processing a database query, wherein the database query comprises a join operator and an aggregation operator, the method comprising: inputting one or more records into a single record store memory, wherein the one or more records represent one or more rows of a table, the table having columns representing one or more fields; determining a value of a column associated with an aggregation operator; determining a value of a column associated with a join operator; determining when the value of the column associated with the aggregation operator is equivalent to the value of the column associated with the join operator; estimating costs and benefits of a partial pre-aggregation, and if indicated by the estimate, utilizing the aggregation operator to partially pre-aggregate the one or more records input into the single record store memory to form partially pre-aggregated records as the one or more records are loaded into the single record store memory; joining the partially pre-aggregated records if the estimation indicates in the single record store memory utilizing the join operator while concurrently processing a partial pre-aggregation of the records from the database; and outputting a resulting set of records from the single record store memory to a subsequent database operation.