Vladimir Ozerov created IGNITE-6202: ---------------------------------------
Summary: SQL: support hash join Key: IGNITE-6202 URL: https://issues.apache.org/jira/browse/IGNITE-6202 Project: Ignite Issue Type: Task Components: sql Affects Versions: 2.1 Reporter: Vladimir Ozerov Justification is the same as for IGNITE-6201 (merge joins). If join is equijoin, and participating attributes are not sorted in advance, then instead of executing nested loops, we can do the following: 1) Get the table with smaller number of entries 2) Build a hash table from target attribute to the list of matching entries 3) Iterate over larger table and perform lookup into hash table Note that this operation might be memory-intensive in case smaller table is large enough still. For this reason we should provide a mechanism to avoid out-of-memory errors. Let's avoid spilling to disk in the first iteration, and try to set a kind of hard limit on how much data can be kept in memory. If we see that this limit cannot be satisfied, then fallback to nested loops. -- This message was sent by Atlassian JIRA (v6.4.14#64029)