System and method for disjunctive joins
Abstract
Joining data using a disjunctive operator is described. An example computer-implemented method can include generating a query plan for a query, wherein there is a join operator expression for each of a plurality of disjunctive predicates and each join operator expression includes at least a conjunctive predicate and a disjunctive operator. The method may also include generating a bloom filter for each of the plurality of disjunctive operators. The method may further include evaluating each of the plurality of join operator expressions using a corresponding one of the plurality of disjunctive operators and bloom filter for each of the plurality of disjunctive predicates to generate a result set.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method comprising:
generating, with one or more processors, a query plan for a query, wherein there is a join operator expression for each of a plurality of disjunctive predicates and each join operator expression includes at least a conjunctive predicate and a disjunctive operator;
generating a bloom filter for each of the plurality of disjunctive operators;
evaluating each of the plurality of join operator expressions using a corresponding one of the plurality of disjunctive operators and bloom filter for each of the plurality of disjunctive predicates to generate a result set.
2. The method of claim 1 , further comprising deduplicating the result set using one or more row identifiers of the plurality of disjunctive predicates.
3. The method of claim 1 , wherein evaluating each of the plurality of j oin operator expressions comprises applying the bloom filter to one or more micro-partitions of a first table of each of the plurality of disjunctive predicates.
4. The method of claim 3 , wherein each of the one or more micro-partitions comprises a file.
5. The method of claim 1 , wherein evaluating each of the plurality of join operator expressions comprises applying the bloom filter on a row-by-row basis to a first table of each of the plurality of disjunctive predicates.
6. The method of claim 1 , wherein evaluating each of the plurality of j oin operator expressions comprises filtering a second table for each of the plurality of disjunctive predicates.
7. The method of claim 6 , wherein evaluating each of the plurality of j oin operator expressions further comprises performing a left side join using a join operator, a filtered first table, and the filtered second table.
8. A system comprising:
one or more processors; and
a set of storage resources, coupled to the one or more processors, wherein the one or more processors are to:
generate a query plan for a query, wherein there is a join operator expression for each of a plurality of disjunctive predicates and each join operator expression includes at least a conjunctive predicate and a disjunctive operator;
generate a bloom filter for each of the plurality of disjunctive operators;
evaluate each of the plurality of join operator expressions using a corresponding one of the plurality of disjunctive operators and bloom filter for each of the plurality of disjunctive predicates to generate a result set.
9. The system of claim 8 , wherein the processors deduplicate the result set using one or more row identifiers of the plurality of disjunctive predicates.
10. The system of claim 8 , wherein the one or more processors apply the bloom filter to one or more micro-partitions of a first table of each of the plurality of disjunctive predicates to further evaluate each of the plurality of join operator expressions.
11. The system of claim 10 , wherein each of the one or more micro-partitions comprises a file.
12. The system of claim 8 , wherein the processors apply the bloom filter on a row-by-row basis to a first table of each of the plurality of disjunctive predicates to further evaluate each of the plurality of join operator expressions.
13. The system of claim 8 , wherein the processors filter a second table for each of the plurality of disjunctive predicates to further evaluate each of the plurality of join operator expressions.
14. The system of claim 13 , wherein the processors perform a left side join using a join operator, a filtered first table, and the filtered second table to further evaluate each of the plurality of join operator expressions.
15. A non-transitory computer-readable medium having instruction stored thereon which, when executed by one or more processors of a computing device, cause the one or more processors to:
generate a query plan for a query, wherein there is a join operator expression for each of a plurality of disjunctive predicates and each join operator expression includes at least a conjunctive predicate and a disjunctive operator;
generate a bloom filter for each of the plurality of disjunctive operators;
evaluate each of the plurality of join operator expressions using a corresponding one of the plurality of disjunctive operators and bloom filter for each of the plurality of disjunctive predicates to generate a result set.
16. The non-transitory machine-readable medium of claim 15 , wherein the instructions further cause the one or more processors to deduplicate the result set using one or more row identifiers of the plurality of disjunctive predicates.
17. The non-transitory machine-readable medium of claim 15 , wherein the instructions further cause the one or more processors to apply the bloom filter to one or more micro-partitions of a first table of each of the plurality of disjunctive predicates to further evaluate each of the plurality of join operator expressions.
18. The non-transitory machine-readable medium of claim 17 , wherein each of the one or more micro-partitions comprises a file.
19. The non-transitory machine-readable medium of claim 15 , wherein the instructions further cause the one or more processors to apply the bloom filter on a row-by-row basis to a first table of each of the plurality of disjunctive predicates to further evaluate each of the plurality of join operator expressions.
20. The non-transitory machine-readable medium of claim 15 , wherein the instructions further cause the one or more processors to filter a second table for each of the plurality of disjunctive predicates to further evaluate each of the plurality of join operator expressions.Join the waitlist — get patent alerts
Track US11615086B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.