Method and apparatus for optimizing database queries involving aggregation predicates
First Claim
1. A computer implemented method for performing a database query involving aggregation, given an initial set of predicates which includes one or more aggregation predicates, said method comprising the steps of:
- translating at least one of said aggregation predicates into a representative form which is a functional term symbolized by f{R,X,A,Y}, wherein R is a relation having one or more attributes, Xrepresents said attributes of R which are grouped and A is an aggregation function applied on attribute Y of R, said representative form suitable for illustrating a relationship involving said aggregation predicates;
inferring one or more new predicates, using said representative form from said initial set of predicates; and
solving said database query using said new predicates.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for optimizing a query involving aggregation. Aggregation predicates are represented by a constraint language through which relationships involving aggregation predicates can be shown. As a result, new predicates can be inferred from an initial set of aggregation predicates and optimization techniques which involve inferring new predicates can be applied. It is also shown how to restrict the inferences involving aggregation predicates to only those predicates which will lead to new predicates which are relevant to query optimization. In general, the technique is not limited to query optimization, but may be applied to various applications involving the manipulation of aggregation predicates.
-
Citations
24 Claims
-
1. A computer implemented method for performing a database query involving aggregation, given an initial set of predicates which includes one or more aggregation predicates, said method comprising the steps of:
-
translating at least one of said aggregation predicates into a representative form which is a functional term symbolized by f{R,X,A,Y}, wherein R is a relation having one or more attributes, Xrepresents said attributes of R which are grouped and A is an aggregation function applied on attribute Y of R, said representative form suitable for illustrating a relationship involving said aggregation predicates; inferring one or more new predicates, using said representative form from said initial set of predicates; and solving said database query using said new predicates. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer system for performing database queries involving aggregation given an initial set of predicates which includes one or more aggregation predicates, comprising:
-
means for translating at least one of said aggregation predicates into a representative form which is a functional term symbolized by f{R,X,A,Y}, wherein R is a relation having one or more attributes, Xrepresents said attributes of R which are grouped and A is an aggregation function applied on attribute Y of R, said representative form suitable for illustrating a relationship involving said aggregation predicates; means for inferring one or more new predicates, using said representative form from said initial set of predicates; and means for solving said database query using said new predicates. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification