Techniques and mechanisms for managing and analyzing database query activities
First Claim
1. A method of analyzing a plurality of database queries within a database environment, the method comprising:
- determining a first statistical evaluation of a first query plan for a first database query corresponding to a first database having a first database schema with at least one computing device within the database environment;
determining a second statistical evaluation for a second query plan for a second database query corresponding to a second database having a second database schema with at least one computing device within the database environment;
comparing the first statistical evaluation and the second statistical evaluation to determine whether the first query plan matches the second query plan with at least one computing device within the database environment;
storing an indication in a repository of the database environment that the first query matches the second query if the first statistical evaluation matches the second statistical evaluation;
determining a function that provides the first query plan with at least one computing device within the database environment;
determining if the second query plan is provided by the function that provides the first query plan with at least one computing device within the database environment;
evaluating data objects referenced by the first query plan and the second query plan if the function provides both the first query plan and the second query plan with at least one computing device within the database environment to determine if the first query plan and the second query plan are syntactically different versions of equivalent database queries; and
storing query statistics in the statistical repository of the database environment if the first query plan and the second query plan are syntactically different versions of equivalent database queries.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques and mechanisms for analyzing a plurality of database queries within a database environment. A first statistical evaluation of a first query plan is determined for a first database query with at least one computing device within the database environment. A second statistical evaluation for a second query plan is determined for a second database query. The first statistical evaluation and the second statistical evaluation are compared to determine whether the first query plan matches the second query plan with at least one computing device within the database environment. An indication is stored in a repository of the database environment that the first query matches the second query if the first hash value matches the second hash value. A function that provides the first query plan is determined. If the second query plan is provided by the function that provides the first query plan, data objects referenced by the first query plan and the second query plan if the function provides both the first query plan and the second query plan to determine if the first query plan and the second query plan are syntactically different versions of equivalent database queries. Query statistics are stored in the statistical repository if the first query plan and the second query plan are syntactically different versions of equivalent database queries.
-
Citations
21 Claims
-
1. A method of analyzing a plurality of database queries within a database environment, the method comprising:
-
determining a first statistical evaluation of a first query plan for a first database query corresponding to a first database having a first database schema with at least one computing device within the database environment; determining a second statistical evaluation for a second query plan for a second database query corresponding to a second database having a second database schema with at least one computing device within the database environment; comparing the first statistical evaluation and the second statistical evaluation to determine whether the first query plan matches the second query plan with at least one computing device within the database environment; storing an indication in a repository of the database environment that the first query matches the second query if the first statistical evaluation matches the second statistical evaluation; determining a function that provides the first query plan with at least one computing device within the database environment; determining if the second query plan is provided by the function that provides the first query plan with at least one computing device within the database environment; evaluating data objects referenced by the first query plan and the second query plan if the function provides both the first query plan and the second query plan with at least one computing device within the database environment to determine if the first query plan and the second query plan are syntactically different versions of equivalent database queries; and storing query statistics in the statistical repository of the database environment if the first query plan and the second query plan are syntactically different versions of equivalent database queries. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to analyze a plurality of database queries within a database environment by:
-
determining a first statistical evaluation of a first query plan for a first database query corresponding to a first database having a first database schema with at least one computing device within the database environment; determining a second statistical evaluation for a second query plan for a second database query corresponding to a second database having a second database schema with at least one computing device within the database environment; comparing the first statistical evaluation and the second statistical evaluation to determine whether the first query plan matches the second query plan with at least one computing device within the database environment; storing an indication in a repository of the database environment that the first query matches the second query if the first statistical evaluation matches the second statistical evaluation; determining a function that provides the first query plan with at least one computing device within the database environment; determining if the second query plan is provided by the function that provides the first query plan with at least one computing device within the database environment; evaluating data objects referenced by the first query plan and the second query plan if the function provides both the first query plan and the second query plan with at least one computing device within the database environment to determine if the first query plan and the second query plan are syntactically different versions of equivalent database queries; and storing query statistics in the statistical repository of the database environment if the first query plan and the second query plan are syntactically different versions of equivalent database queries. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A database system capable of analyzing a plurality of database queries within a database environment, the database system comprising:
-
one or more databases; an intelligent query analysis agent coupled to receive a first statistical evaluation of a first query plan for a first database query corresponding to a first database having a first database schema and a second statistical evaluation for a second query plan for a second database query corresponding to a second database having a second database schema, to compare the first statistical evaluation and the second statistical evaluation to determine whether the first query plan matches the second query plan, to cause to be stored in the one or more databases an indication that the first query matches the second query if the first statistical evaluation matches the second statistical evaluation, to determine a function that provides the first query plan, to determine if the second query plan is provided by the function that provides the first query plan, to evaluate data objects referenced by the first query plan and the second query plan if the function provides both the first query plan and the second query plan to determine if the first query plan and the second query plan are syntactically different versions of equivalent database queries, and to cause to be stored in the database statistics if the first query plan and the second query plan are syntactically different versions of equivalent database queries. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification