Query Optimizer
First Claim
Patent Images
1. For employing a computer system to execute a query on a database, a method comprising:
- A) providing inputs to the computer system that represent a query that, applied to the database, defines a plurality of independent snowflake schemas; and
B) employing the computer system to;
i) compute, separately for each of the snowflake schemas, an access plan for obtaining from that schema'"'"'s tables a record set that includes the data requested by the query from those tables;
ii) compute an access plan for obtaining the query'"'"'s results from the record sets in which execution of the access plans thus computed will result;
iii) obtain the query'"'"'s results by executing the access plan; and
iv) generate an output that represents the query results thus obtained.
9 Assignments
0 Petitions
Accused Products
Abstract
For a database query that defines a plurality of separate snowflake schemas, a query optimizer computes separately for each of the snowflake schemas a logical access plan for obtaining from that schema'"'"'s tables a respective record set that includes the data requested from those tables by that query. The query optimizer also computes a logical access plan for obtaining the query'"'"'s results from the record sets in which execution of the logical access plans thus computed will result.
230 Citations
12 Claims
-
1. For employing a computer system to execute a query on a database, a method comprising:
-
A) providing inputs to the computer system that represent a query that, applied to the database, defines a plurality of independent snowflake schemas; and B) employing the computer system to; i) compute, separately for each of the snowflake schemas, an access plan for obtaining from that schema'"'"'s tables a record set that includes the data requested by the query from those tables; ii) compute an access plan for obtaining the query'"'"'s results from the record sets in which execution of the access plans thus computed will result; iii) obtain the query'"'"'s results by executing the access plan; and iv) generate an output that represents the query results thus obtained. - View Dependent Claims (2, 3)
-
-
4. For executing a queries on a database, a computer system configured to:
-
A) maintain a database; B) accept input signals that represent a query that, applied to the database, defines a plurality of independent snowflake schemas; and C) in response thereto; i) compute, separately for each of the snowflake schemas, an access plan for obtaining from that schema'"'"'s tables a record set that includes the data requested by the query from those tables; ii) compute an access plan for obtaining the query'"'"'s results from the record sets in which execution of the access plans thus computed will result; iii) obtain the query'"'"'s results by executing the access plan; and iv) generate an output that represents the query results thus obtained. - View Dependent Claims (5, 6)
-
-
7. A storage medium containing machine instruction readable by a computer system to configure the computer system to:
-
A) maintain a database; B) accept input signals that represent a query that, applied to the database, defines a plurality of independent snowflake schemas; and C) in response thereto; i) compute, separately for each of the snowflake schemas, an access plan for obtaining from that schema'"'"'s tables a record set that includes the data requested by the query from those tables; ii) compute an access plan for obtaining the query'"'"'s results from the record sets in which execution of the access plans thus computed will result; iii) obtain the query'"'"'s results by executing the access plan; and iv) generate an output that represents the query results thus obtained. - View Dependent Claims (8, 9)
-
-
10. For employing a computer system to execute a query on a database that contains a plurality of base tables that have primary-key/foreign-key relationships, a method comprising:
-
A) providing input signals to the computer system that represent a query to be applied to the database; and B) employing the computer system to; i) choose a set of access plans in accordance with the primary-key/foreign-key relationships among tables in the query; ii) select an access plan from among the chosen access plans in accordance with predetermined selection criteria; iii) obtain the query'"'"'s results by executing the access plan; and iv) generate an output indicative of the query results thus obtained.
-
-
11. For executing queries on a database, a computer system configured to:
-
A) maintain a database that contains a plurality of tables that have primary-key/foreign-key relationships among them; B) accept input signals that represent a query; and C) in response thereto; i) choose a set of access plans in accordance with the primary-key/foreign-key relationships among tables in the query; ii) select an access plan from among the chosen access plans in accordance with predetermined selection criteria; iii) obtain the query'"'"'s results by executing the access plan; and iv) generate an output indicative of the query results thus obtained.
-
-
12. A storage medium containing machine instruction readable by a computer system to configure the computer system to:
-
A) maintain a database that contains a plurality of tables that have primary-key/foreign-key relationships among them; B) accept input signals that represent a query; and C) in response thereto; i) choose a set of access plans in accordance with the primary-key/foreign-key relationships among tables in the query; ii) select an access plan from among the chosen access plans in accordance with predetermined selection criteria; iii) obtain the query'"'"'s results by executing the access plan; and iv) generate an output indicative of the query results thus obtained.
-
Specification