]
Steven Hawkins resolved TEIID-2902.
-----------------------------------
Resolution: Done
In most circumstances where a sort is not pushed we'll elect to do an
EnhancedSortMerge join. This change removes several places that forced us to fully read
both sides. It also in the presence of a limit ensure that a more incremental join is
performed (one side fully sorted, the other will only be sorted to a single pass - but
will typically have been fully read).
More incremental join when a limit is present
---------------------------------------------
Key: TEIID-2902
URL:
https://issues.jboss.org/browse/TEIID-2902
Project: Teiid
Issue Type: Enhancement
Components: Query Engine
Affects Versions: 8.7
Reporter: Ivan Chan
Assignee: Steven Hawkins
Fix For: 8.8
For SQL like:
SELECT
t1.column1,
t2.column1
FROM
schema1.table1 t1,
schema2.table1 t2
WHERE
t1.column2=t2.column2
LIMIT 100
Teiid may get the whole schema1.table1 content and the whole schema2.table1 content, do
the join in memory and then, limit the resultset to 100 records.
However, I think teiid can fetch smaller set of data then do a join. If the join result
set is less than number of rows asking, keep fetching next set of data and do a join
until hits the limit number.