2016-10-04 38 views
0

我有這樣的查詢:Teiid查詢優化/虛擬數據源碧玉

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個臨時表?

回答

0

如果數據庫支持連接,那麼可以將它們推下。在查詢計劃期間,Teiid優化器檢查源的能力並決定可以推送或需要在Teiid引擎中處理。基於它,它將重新編寫查詢。