| CPC G06F 16/24542 (2019.01) [G06F 11/3409 (2013.01); G06F 16/2456 (2019.01)] | 30 Claims |

|
1. A system comprising:
at least one hardware processor; and
at least one memory storing instructions that cause the at least one hardware processor to perform operations comprising:
generating a query plan for a received query, the query plan comprising a plurality of join operations including a plurality of hash-join-build (HJB) operations and a plurality of hash-join-probe (HJP) operations;
configuring a decision node of a plurality of decision nodes of the query plan as a primary decision node;
decoding by the primary decision node, build-side data information associated with build-side data, the build-side data information received from the plurality of HJB operations;
selecting by the primary decision node, a data distribution method for each HJB operation of the plurality of HJB operations from a broadcast join distribution and a hash-hash join distribution, the selecting of the data distribution method being based on memory utilization information associated with the build-side data and included in the build-side data information; and
causing execution of the query plan based on distributing the build-side data to the plurality of HJP operations using the data distribution method for each HJB operation of the plurality of HJB operations.
|