0

我有一个这样的查询:

Select A.table1.atr1, ... , B.table1.atr1
from A.table1
join B.table1 on (A.table1.atr1 =  B.table1.atr2)
join B.table2 on (B.table1.atr2 = B.table2.atr2)
...(some similar joins)
join A.table2 on (A.table1.atr1 =  A.table2.atr2)
where ...

A 和 B 是 jdbc 数据源。我想知道 teiid 如何处理同一个数据库上的多个连接。他们被推送到数据库吗?表A和B之间的连接顺序重要吗?在我的示例中,我使用 A 和 B 之间的连接,然后是 B 和 B 之间的连接,然后是 A 和 A 之间的连接。我需要重新排列顺序还是在数据库 A 和数据库 B 上创建 2 个临时表?

4

1 回答 1

0

如果数据库支持连接,是的,它们可以被下推。在规划查询时,Teiid 优化器检查源的能力,并决定它可以被推送或需要在 Teiid 引擎中处理。基于它,它将重新编写查询。

于 2017-02-09T19:27:18.917 回答