Systems and methods for holding a query
First Claim
Patent Images
1. A database management system (DBMS) comprising:
- a memory for storing computer executable instructions; and
a processing unit for accessing the memory and executing the computer executable instructions, the computer executable instructions comprising;
a query optimizer to;
generate a query plan for a query received at a query input; and
determine an estimated resource execution cost of the query plan, the estimated resource execution cost comprises a plurality of estimated cost fields;
a compiler to hold the query the holding prevents the query from executing based on a determination that the estimated resource execution cost of the query plan exceeds at least one of a plurality of cost rules, wherein the estimated resource execution cost is based on at least one of a number of join operations and a number of cross product operations in the query plan for executing the query;
wherein the cost rules comprise;
a fixed cost threshold; and
a variable cost threshold; and
the estimated cost comparison is based on a comparison between the plurality of estimated cost fields and the fixed cost threshold and the variable cost threshold of the cost rules; and
wherein the query held at the compiler is prevented from executing for a given time period, the time period including one of an off-peak period, a low priority period, and an indefinite period.
2 Assignments
0 Petitions
Accused Products
Abstract
A database management system that can comprise a memory for storing computer executable instructions and a processing unit for accessing the memory and executing the computer executable instructions. The computer executable instruction scan comprise a compiler to hold a query received at a query input, thereby preventing the query from executing based on a cost comparison between an estimated resource execution cost of a query plan for the query and cost rules.
28 Citations
21 Claims
-
1. A database management system (DBMS) comprising:
-
a memory for storing computer executable instructions; and a processing unit for accessing the memory and executing the computer executable instructions, the computer executable instructions comprising; a query optimizer to; generate a query plan for a query received at a query input; and determine an estimated resource execution cost of the query plan, the estimated resource execution cost comprises a plurality of estimated cost fields; a compiler to hold the query the holding prevents the query from executing based on a determination that the estimated resource execution cost of the query plan exceeds at least one of a plurality of cost rules, wherein the estimated resource execution cost is based on at least one of a number of join operations and a number of cross product operations in the query plan for executing the query; wherein the cost rules comprise; a fixed cost threshold; and a variable cost threshold; and
the estimated cost comparison is based on a comparison between the plurality of estimated cost fields and the fixed cost threshold and the variable cost threshold of the cost rules; andwherein the query held at the compiler is prevented from executing for a given time period, the time period including one of an off-peak period, a low priority period, and an indefinite period. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for managing a database comprising:
-
generating a query plan for a received query; estimating a resource execution cost of the query plan; and determining whether to hold the received query based on the estimated resource execution cost of the query plan, where holding the received query prevents execution of the query for a given time period, the time period including one of an off-peak period, a low priority period, and an indefinite period; notifying a requestor of the query that the query has been held; editing the query plan to provide a modified query plan; determining whether to prevent the query from executing based on an estimated resource execution cost of the modified query plan for the query. - View Dependent Claims (14, 15)
-
-
16. A database management system (DMBS) comprising:
-
a query repository comprising; cost rules that characterize a resource execution cost limit for a query plan; a hold queue to store an entry comprising a query plan; and a modified queue to store an entry comprising a modified query plan; a query input to receive a query from a query requestor, wherein the query requestor requests the query to be executed; a compiler comprising a query optimizer to generate a query plan for the query received at the query input, the compiler is to; determine whether to hold the query received at the query input, wherein the holding prevents the query received at the query input from executing based on a cost comparison between an estimated resource execution cost of the query plan and the cost rules of the query repository, wherein the query held at the compiler is prevented from executing for a given time period, the time period including one of an off-peak period, a low priority period, and an indefinite period; and write an entry into the hold queue of the query repository based on a determination that the query received at the query input has been held;
a query executor comprising a monitor to monitor an actual execution resource cost of the query plan, the query executor to;execute the query plan on a database stored in data storage based on a determination that the query plan has not been held; determine whether to cancel and hold the query received at the query input, wherein the holding prevents the query from executing, based on a cost comparison between the actual resource execution cost of the query plan and the cost rules of the query repository; and write an entry into the hold queue of the query repository based on a determination that the query has been held;
a cost control to;notify a user of the cost control that the entry has been written into the hold queue of the query repository; retrieve the entry from the hold queue of the query repository to provide a retrieved entry; provide a query plan editor for modifying the query plan of the retrieved entry to provide a modified query plan; and write an entry into the modified queue of the query repository that includes the modified query plan. - View Dependent Claims (17, 18)
-
-
19. A non-transitory computer readable medium having computer executable instructions comprising:
-
a compiler to determine whether to hold a query on a database based on an estimated resource execution cost of a query plan for the query, such that wherein holding the query prevents the query from being executed for a given time period, the time period including one of an off-peak period, a low priority period, and an indefinite period; and a cost control to notify a requestor of the query that the query has been held, wherein the cost control comprises a query plan editor to edit the query plan to provide a modified query plan to the compiler; wherein the compiler is further to determine whether to prevent the query from executing based on an estimated resource execution cost of the modified query plan for the query. - View Dependent Claims (20, 21)
-
Specification