Partial pre-aggregation in relational database queries
First Claim
Patent Images
1. A method for processing a database query, comprising:
- partially pre-aggregating records in a database according to a single grouping column to provide a result that contains at least two records having like grouping column values; and
aggregating records derived from the partial pre-aggregation to provide a result that contains records having unique grouping column values.
1 Assignment
0 Petitions
Accused Products
Abstract
A partial pre-aggregation database operation improves processing efficiency of database queries by reducing the number of records input into a subsequent database operation, provided the query includes a final aggregation. A query optimizer is provided to determine when it is economical to partially pre-aggregate data records and when it is not. The partial pre-aggregation creates a record store in memory as input records are received. The record store is then used by another database operator, which saves the other database operator from having to re-create the record store.
56 Citations
25 Claims
-
1. A method for processing a database query, comprising:
-
partially pre-aggregating records in a database according to a single grouping column to provide a result that contains at least two records having like grouping column values; and
aggregating records derived from the partial pre-aggregation to provide a result that contains records having unique grouping column values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A relational database system, comprising:
-
memory for storing a record store, the memory having a portion available for query processing;
a query processor coupled to the memory to process a query on the record store according to a single grouping column, the query processor being configured to partially pre-aggregate the record store to provide a result that contains at least two data records that have like grouping column values; and
the query processor being further configured to aggregate data records resulting from the partial pre-aggregation to provide an aggregation result that contains data records, no two of the data records having the same grouping column value. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A relational database computer program embodied on a computer-readable medium, comprising:
-
partial pre-aggregation code to partially pre-aggregate data records according to grouping column values in a single grouping column to provide a partial pre-aggregation result having two or more records having like grouping column values; and
aggregation code to aggregate data records in the partial pre-aggregation result to provide an aggregation result having records with unique grouping column values. - View Dependent Claims (22, 23)
-
-
24. A relational database computer program stored on a computer-readable medium, the relational database computer program comprising computer-executable instructions that, when executed on a computer, perform the following steps:
-
receiving a stream of input records;
aggregating the input records in the stream according to a single grouping column as it is received to create a record store;
joining records in the record store with other data;
aggregating the records output from the join; and
wherein the records output from the join include at least two records that have an identical grouping column value in the single grouping column. - View Dependent Claims (25)
-
Specification