Database System with Methodology for Parallel Schedule Generation in a Query Optimizer
First Claim
1. In a database system, a method for parallel optimization of a query, the method comprising:
- generating a plurality of parallel plans for obtaining data requested by the query, the parallel plans including parallel operators for executing portions of the query in parallel;
adjusting parallel operators of each parallel plan if necessary based on resources available for executing the query;
creating a schedule for each parallel plan indicating a sequence for execution of operators of each parallel plan;
determining execution cost of each parallel plan based on its schedule; and
selecting a particular parallel plan having lowest execution cost for obtaining data requested by the query.
3 Assignments
0 Petitions
Accused Products
Abstract
A database system with methodology for parallel schedule generation in a query optimizer is described. In one embodiment, for example, in a database system, a method is described for parallel optimization of a query, the method comprises steps of: generating a plurality of parallel plans for obtaining data requested by the query, the parallel plans including parallel operators for executing portions of the query in parallel; adjusting parallel operators of each parallel plan if necessary based on resources available for executing the query; creating a schedule for each parallel plan indicating a sequence for execution of operators of each parallel plan; determining execution cost of each parallel plan based on its schedule; and selecting a particular parallel plan having lowest execution cost for obtaining data requested by the query.
200 Citations
70 Claims
-
1. In a database system, a method for parallel optimization of a query, the method comprising:
-
generating a plurality of parallel plans for obtaining data requested by the query, the parallel plans including parallel operators for executing portions of the query in parallel;
adjusting parallel operators of each parallel plan if necessary based on resources available for executing the query;
creating a schedule for each parallel plan indicating a sequence for execution of operators of each parallel plan;
determining execution cost of each parallel plan based on its schedule; and
selecting a particular parallel plan having lowest execution cost for obtaining data requested by the query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A system for parallel optimization of a database query, the system comprising:
-
a search engine for generating a plurality of parallel plans which can be used for obtaining data requested by the query, the parallel plans including parallel operators for executing portions of the query in parallel;
a parallel scheduler for adjusting parallel operators of each parallel plan if necessary based on resources available for executing the query and creating a schedule for the parallel plan indicating a sequence for execution of operators of the parallel plan; and
a module for determining execution cost of each parallel plan based on its schedule and selecting a particular parallel plan having lowest execution cost for obtaining data requested by the query. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A method for parallel optimization of a query requesting data from a database, the method comprising:
-
creating a plurality of operator trees for executing the query, the operator trees providing for execution of portions of the query in parallel;
adjusting the portions of the query to be executed in parallel based on memory resources available for executing the query;
generating a schedule for execution of each operator tree; and
selecting the operator tree having lowest execution cost based on its schedule for executing the query. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70)
-
Specification