Managing complex queries with predicates
First Claim
Patent Images
1. A method of processing complex queries, comprising:
- detecting a first query directed towards a dataset which satisfies a size criterion, wherein the first query includes a set of initial predicates and results in a first result set;
identifying one or more new predicates from the result set, wherein the one or more new predicates are not within the set of initial predicates;
detecting a second query directed towards the dataset, wherein the second query is the same as the first query;
determining that predicates of the one or more new predicates filter a threshold amount of tuples of an initial set of tuples;
determining an order of the one or more new predicates such that a new predicate which filters relatively more tuples of the initial set of tuples is before a new predicate which filters relatively less tuples of the initial set of tuples; and
utilizing the one or more new predicates to process the second query in the order and determine a second result set for the second query.
2 Assignments
0 Petitions
Accused Products
Abstract
A first query is detected. The first query is for a storage device, and pulls a result set from the storage device using a set of predicates. The first query satisfies a size criterion. A new set of predicates of the result set is identified. The new set of predicates does not include any predicates of the original set of predicates. A second query which is the same as the first query is detected. The new set of predicates is used to determine the result set.
26 Citations
17 Claims
-
1. A method of processing complex queries, comprising:
-
detecting a first query directed towards a dataset which satisfies a size criterion, wherein the first query includes a set of initial predicates and results in a first result set; identifying one or more new predicates from the result set, wherein the one or more new predicates are not within the set of initial predicates; detecting a second query directed towards the dataset, wherein the second query is the same as the first query; determining that predicates of the one or more new predicates filter a threshold amount of tuples of an initial set of tuples; determining an order of the one or more new predicates such that a new predicate which filters relatively more tuples of the initial set of tuples is before a new predicate which filters relatively less tuples of the initial set of tuples; and utilizing the one or more new predicates to process the second query in the order and determine a second result set for the second query. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising:
-
a processor; and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to; detect a first query directed towards a dataset which satisfies a size criterion, wherein the first query includes a set of initial predicates and results in a first result set; identify one or more new predicates from the result set, wherein the one or more new predicates are not within the set of initial predicates; detect a second query directed towards the dataset, wherein the second query corresponds with the first query; determine that predicates of the one or more new predicates filter a threshold amount of tuples of an initial set of tuples; determine an order of the one or more new predicates such that a new predicate which filters relatively more tuples of the initial set of tuples is before a new predicate which filters relatively less tuples of the initial set of tuples; and utilize the one or more new predicates to process the second query in the order and determine a second result set for the second query. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product for processing complex queries, the computer program product disposed upon a non-transitory computer readable storage medium, the computer program product comprising computer program instructions that, when executed by a computer processor of a computer, cause the computer to:
-
detect a first query directed towards a dataset which satisfies a size criterion, wherein the first query includes a set of initial predicates and results in a first result set; identify one or more new predicates from the result set, wherein the one or more new predicates are not within the set of initial predicates; detect a second query directed towards the dataset, wherein the second query is the same as the first query; determine that predicates of the one or more new predicates filter a threshold amount of tuples of an initial set of tuples; determine an order of the one or more new predicates such that a new predicate which filters relatively more tuples of the initial set of tuples is before a new predicate which filters relatively less tuples of the initial set of tuples; and utilize the one or more new predicates to process the second query in the order and determine a second result set for the second query. - View Dependent Claims (14, 15, 16, 17)
-
Specification