Physical Planning of Database Queries Using Partial Solutions
First Claim
1. A computer-implemented method for limiting the number of partial solutions considered for processing a query, the method comprising:
- receiving a request for generating an execution plan for a database query;
determining a partial solutions limit on the number of partial solutions to be evaluated for determining the execution plan of the query;
determining a plurality of partial solutions, each partial solution corresponding to a portion of the execution plan for processing the database query, each partial solution determined by evaluating a number of candidate partial solutions, the number of candidate partial solutions determined based on the partial solutions limit;
combining the plurality of partial solutions to obtain an execution plan for the database query; and
executing the database query by executing the execution plan.
3 Assignments
0 Petitions
Accused Products
Abstract
A database system determines execution plans for database queries by evaluating a number of partial solutions for each database query. The database system determines a partial solutions limit on the number of partial solutions to be evaluated for determining the execution plan of the query. The database system determines a plurality of partial solutions, each partial solution corresponding to a portion of the execution plan for processing the database query. The database system evaluates a number of candidate partial solutions for determining a partial solution. The number of candidate partial solutions evaluated is determined based on the partial solutions limit. The database system combines the plurality of partial solutions to obtain an execution plan for the database query. The database system executes the database query by executing the execution plan.
62 Citations
20 Claims
-
1. A computer-implemented method for limiting the number of partial solutions considered for processing a query, the method comprising:
-
receiving a request for generating an execution plan for a database query; determining a partial solutions limit on the number of partial solutions to be evaluated for determining the execution plan of the query; determining a plurality of partial solutions, each partial solution corresponding to a portion of the execution plan for processing the database query, each partial solution determined by evaluating a number of candidate partial solutions, the number of candidate partial solutions determined based on the partial solutions limit; combining the plurality of partial solutions to obtain an execution plan for the database query; and executing the database query by executing the execution plan. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable storage medium storing instructions thereon, the instructions comprising:
-
receiving a request for generating an execution plan for a database query; determining a partial solutions limit on the number of partial solutions to be evaluated for determining the execution plan of the query; determining a plurality of partial solutions, each partial solution corresponding to a portion of the execution plan for processing the database query, each partial solution determined by evaluating a number of candidate partial solutions, the number of candidate partial solutions determined based on the partial solutions limit; combining the plurality of partial solutions to obtain an execution plan for the database query; and executing the database query by executing the execution plan.
-
-
20. A computer-implemented system for limiting the number of partial solutions considered for processing a query, the system comprising:
-
a computer processor; and a non-transitory computer-readable storage medium storing instructions thereon, the instructions comprising; receiving a request for generating an execution plan for a database query; determining a partial solutions limit on the number of partial solutions to be evaluated for determining the execution plan of the query; determining a plurality of partial solutions, each partial solution corresponding to a portion of the execution plan for processing the database query, each partial solution determined by evaluating a number of candidate partial solutions, the number of candidate partial solutions determined based on the partial solutions limit; combining the plurality of partial solutions to obtain an execution plan for the database query; and executing the database query by executing the execution plan.
-
Specification