Branching optimization in a multi-database system
First Claim
Patent Images
1. A method comprising:
- evaluating a plurality of plans for executing a query on a multi-database system, the plurality of plans including a first plan and a second plan different from the first plan, and, as a result of evaluating, selecting a first plan, the first plan having a first step and a second step, the second plan having a first step and a second step, the first step of the first plan being the same as the first step of the second plan, and the second step of the first plan being different from the second step of the second plan;
executing the first step of the first plan, after evaluating the plurality of plans and selecting the first plan;
re-evaluating the plan selection after executing the first step of the first plan but before executing the second step of the first plan and, as a result of re-evaluating, selecting the second plan to continue executing the query;
executing a second step of the second plan to produce a result; and
storing the result.
1 Assignment
0 Petitions
Accused Products
Abstract
Execution of a query is optimized. A plurality of plans for executing the query on a multi-database system are analyzed. A first plan having a first step and a second step is selected. The first step of the first plan is executed. The plan selection is re-evaluated before executing the second step of the first plan. A second plan of the plurality of plans for executing the query is executed to produce a result. The result is stored.
-
Citations
18 Claims
-
1. A method comprising:
-
evaluating a plurality of plans for executing a query on a multi-database system, the plurality of plans including a first plan and a second plan different from the first plan, and, as a result of evaluating, selecting a first plan, the first plan having a first step and a second step, the second plan having a first step and a second step, the first step of the first plan being the same as the first step of the second plan, and the second step of the first plan being different from the second step of the second plan; executing the first step of the first plan, after evaluating the plurality of plans and selecting the first plan; re-evaluating the plan selection after executing the first step of the first plan but before executing the second step of the first plan and, as a result of re-evaluating, selecting the second plan to continue executing the query; executing a second step of the second plan to produce a result; and storing the result. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A multi-database system comprising:
-
one or more nodes; a plurality of CPUs, each of the one or more nodes providing access to one or more CPUs; a plurality of virtual processes, each of the one or more CPUs providing access to one or more virtual processes; each virtual process configured to manage data, including rows from the set of database table rows, stored in one of a plurality of data-storage facilities; a process for; evaluating a plurality of plans for executing a query on a multi-database system, the plurality of plans including a first plan and a second plan different from the first plan, and, as a result of evaluating, selecting a first plan, the first plan having a first step and a second step, the second plan having a first step and a second step, the first step of the first plan being the same as the first step of the second plan, and the second step of the first plan being different from the second step of the second plan; executing the first step of the first plan, after evaluating the plurality of plans and selecting the first plan; re-evaluating the plan selection after executing the first step of the first plan but before executing the second step of the first plan and, as a result of re-evaluating, selecting the second plan to continue executing the query; executing a second step of the second plan to produce a result; and storing the result. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program, stored in a non-transitory computer-readable tangible medium, for optimizing execution of a query, the program comprising executable instructions that cause a computer to:
-
evaluate a plurality of plans for executing a query on a multi-database system, the plurality of plans including a first plan and a second plan different from the first plan, and, as a result, select a first plan, the first plan having a first step and a second step, the second plan having a first step and a second step, the first step of the first plan being the same as the first step of the second plan, and the second step of the first plan being different from the second step of the second plan; execute the first step of the first plan, after evaluating the plurality of plans and selecting the first plan; re-evaluate the plan selection after executing the first step of the first plan but before executing the second step of the first plan and, as a result of, selecting a second plan to continue executing the query; execute a second step of the second plan to produce a result; and store the result. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification