Automatic Recognition and Capture of SQL Execution Plans
First Claim
1. A method for executing database commands, the method comprising:
- receiving a first request to execute a first command;
executing the first command according to a first plan;
while executing the first command according to the first plan, capturing first information, wherein the first information is related to the execution of the first command according to the first plan;
determining that the first command matches one or more pre-defined criteria;
in response to determining that the first command matches one or more pre-defined criteria, persistently recording the first information;
receiving a second request to execute a second command;
in response to the second request;
determining that the second command is equivalent to the first command; and
executing the second command in a manner that is based, at least in part, on the first information.
1 Assignment
0 Petitions
Accused Products
Abstract
Approaches, techniques, and mechanisms are disclosed for capturing and utilizing information related to query plans exhibiting interesting characteristics. A database server receives a request to execute a command. The database server executes the command according to a query plan. In response to determining that the command matches one or more pre-defined criteria, the database server captures information related to the execution of the first command. The criteria may include, for example, whether or not the command is repeatable, the existence of bind variables, access of a particular object, high resource utilization, receipt from a particular user, client, or application, etc. The information recorded may include, for example, performance statistics collected during execution of the first plan, data indicating the execution context during execution of the first plan, and properties of the first plan. The recorded information may subsequently be utilized by the database server in executing other database other database commands.
-
Citations
32 Claims
-
1. A method for executing database commands, the method comprising:
-
receiving a first request to execute a first command; executing the first command according to a first plan; while executing the first command according to the first plan, capturing first information, wherein the first information is related to the execution of the first command according to the first plan; determining that the first command matches one or more pre-defined criteria; in response to determining that the first command matches one or more pre-defined criteria, persistently recording the first information; receiving a second request to execute a second command; in response to the second request; determining that the second command is equivalent to the first command; and executing the second command in a manner that is based, at least in part, on the first information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
14. A method for executing database commands, the method comprising:
-
receiving a first request to execute a first command; determining that the first command matches one or more pre-defined criteria; executing the first command according to first plan; in response to said determining, while monitoring execution of the first command, capturing performance statistics related to the execution of the first plan; generating a report for the first plan, based on the captured performance statistics. - View Dependent Claims (15, 16, 30, 31, 32)
-
Specification