Runtime query optimization for dynamically selecting from multiple plans in a query based upon runtime-evaluated performance criterion
First Claim
1. A method of executing a database query, the method comprising:
- (a) dynamically evaluating at least one performance criterion for a query during execution of at least a portion of the query;
(b) selecting one of a plurality of query implementations defined in the query based upon the dynamically-evaluated performance criterion; and
(b) continuing execution of the query using the selected query implementation.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus, program product and method perform runtime query optimization during execution of a query to select from among multiple available plans, or implementations, capable of implementing the query. The runtime query optimization utilizes a runtime-derived performance criterion to dynamically select from among multiple query implementations. A performance criterion is dynamically evaluated during execution of at least a portion of a query, and one of a plurality of query implementations defined in the query is selected based upon the dynamically-evaluated performance criterion. Once selected, execution of the query is continued using the selected query implementation.
-
Citations
27 Claims
-
1. A method of executing a database query, the method comprising:
-
(a) dynamically evaluating at least one performance criterion for a query during execution of at least a portion of the query;
(b) selecting one of a plurality of query implementations defined in the query based upon the dynamically-evaluated performance criterion; and
(b) continuing execution of the query using the selected query implementation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus, comprising:
-
(a) a memory within which is resident at least a portion of a database; and
(b) program code configured to execute a database query by dynamically evaluating at least one performance criterion for the query during execution of at least a portion of the query, selecting one of a plurality of query implementations defined in the query based upon the dynamically-evaluated performance criterion, continuing execution of the query using the selected query implementation. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A program product, comprising:
-
(a) program code configured to execute a database query by dynamically evaluating at least one performance criterion for the query during execution of at least a portion of the query, selecting one of a plurality of query implementations defined in the query based upon the dynamically-evaluated performance criterion, continuing execution of the query using the selected query implementation; and
(b) a signal bearing medium bearing the program code. - View Dependent Claims (20)
-
-
21. A program product, comprising:
-
(a) a query data structure for use in implementing a query, the query data structure including a plurality of implementations of at least a portion of the query, and at least one performance criterion for use in selecting one of the plurality of implementations to execute during execution of the query; and
(b) a signal bearing medium bearing the query data structure.
-
-
22. A computer-implemented method of generating a query data structure, the method comprising:
-
(a) identifying a plurality of implementations capable of implementing at least a portion of a query; and
(a) building a query data structure for use in implementing the query, the query data structure including the plurality of implementations and at least one performance criterion for use in selecting one of the plurality of implementations to execute during execution of the query. - View Dependent Claims (23, 24, 25, 26, 27)
-
Specification