Method for executing star queries
First Claim
1. A method for processing a query that requires retrieval of data from a fact table and specifies constraints on one or more dimension tables associated with said fact table, the method comprising the steps of:
- transforming the query to produce a transformed query that includes at least one subquery that is not in the query;
determining a result set for the at least one subquery, said result set including a set of key values;
accessing a bitmap index built on a column of the fact table to retrieve a set of bitmaps associated with said set of key values;
merging said set of bitmaps to generate a subquery bitmap; and
determining which data to retrieve from said fact table in response to said query based on said subquery bitmap.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for processing star queries is provided. According to the method, a star query is transformed by adding to the star query subqueries that are not in the query. The subqueries are generated based on join predicates and constraints on dimension tables that are contained in the original query. The subqueries are executed, and the values returned by the subqueries are used to access one or more bitmap indexes built on columns of the fact table. The bitmaps retrieved for the values returned by each subquery are merged to create one subquery bitmap per subquery. An AND operation is performed on the subquery bitmaps, and the resulting bitmap is used to determine which data to retrieve from the fact table.
172 Citations
20 Claims
-
1. A method for processing a query that requires retrieval of data from a fact table and specifies constraints on one or more dimension tables associated with said fact table, the method comprising the steps of:
-
transforming the query to produce a transformed query that includes at least one subquery that is not in the query; determining a result set for the at least one subquery, said result set including a set of key values; accessing a bitmap index built on a column of the fact table to retrieve a set of bitmaps associated with said set of key values; merging said set of bitmaps to generate a subquery bitmap; and determining which data to retrieve from said fact table in response to said query based on said subquery bitmap. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for processing a query that requires retrieval of data from a first data repository and specifies constraints on one or more second data repositories that the query associates with said first data repository, the method comprising the steps of:
-
transforming the query to produce a transformed query that includes at least one subquery that is not in the query, wherein the at least one subquery selects records in the one or more second data repositories based on the constraints specified in the query; executing said at least one subquery to determine a first set of record identifiers that identify records in said one or more second data repositories that satisfy said at least one subquery; using said first set of record identifiers as key values to access an index associated with the first data repository to generate a second set of record identifiers that identify records in said first data repository; and determining which data to retrieve from said first data repository in response to said query based on said second set of record identifiers. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer readable medium having stored thereon sequences of instructions for processing a query that requires retrieval of data from a first data repository and specifies constraints on one or more second data repositories that the query associates with said first data repository, the sequences of instructions comprising sequences of instructions for performing the steps of:
-
transforming the query to produce a transformed query that includes at least one subquery that is not in the query, wherein the at least one subquery selects records in the one or more second data repositories based on the constraints specified in the query; executing said at least one subquery to determine a first set of record identifiers that identify records in said one or more second data repositories satisfy said at least one subquery; using said first set of record identifiers as key values to access an index associated with the first data repository to generate a second set of record identifiers that identify records in said first data repository; and determining which data to retrieve from said first data repository in response to said query based on said second set of record identifiers. - View Dependent Claims (17, 18, 19, 20)
-
Specification