US 12,111,833 B1
Query acceleration for disjunctive equijoin conditions
Steven Alan Kirk, Chelmsford, MA (US); Mohammed Alkateb, Rancho Palos Verdes, CA (US); and Andreas Michael Kipf, Munich (DE)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Sep. 29, 2023, as Appl. No. 18/477,926.
Int. Cl. G06F 16/20 (2019.01); G06F 16/22 (2019.01); G06F 16/2453 (2019.01); G06F 16/248 (2019.01)
CPC G06F 16/24544 (2019.01) [G06F 16/2282 (2019.01); G06F 16/248 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
a plurality of nodes implementing a processing cluster, respectively comprising at least one processor and a memory;
wherein the processing cluster is configured to:
receiving a query;
parse the query to identify disjunctive equijoin condition comprising a plurality of equijoins between respective columns of different tables, wherein the disjunctive equijoin condition is specified in the query;
generate a plan to perform the query, wherein the query plan comprises operations to:
create a filter data structure for distinct ones of the plurality of equijoins, wherein the filter data structure is populated as part of a scan operation of the respective column that is identified as a build side of the distinct ones of the plurality of equijoins; and
apply the filter data structure to tuples obtained by a further scan operation of a different one of the respective columns that is identified as a probe side of the distinct ones of the plurality of equijoins, wherein application of the filter removes one or more of the tuples from a result of the query according to an evaluation of the filter data structure that determines that a corresponding tuple for the one or more tuples is not present in the respective column identified as the build side;
execute the plan to perform the query; and
return the result of the query.