如果是同數據庫的不同表之間可以用一般的 Join 方式,這時的連接會發生在數據庫本身
如果是異質數據來源我們可以用Blending 或者是 Cross Database join 方式來連接
以Blending來說, 數據會先各自在自己的數據庫進行查詢得到聚合的值之後在於Tableau上進行連接,因此連接時不是逐行連接
以Cross Database Join 來說, 數據如果一般Join是逐行的連接, 但因為跨數據庫所以這個連接動作會發生在Tableau上, Tableau需要取的數據庫上每一行的數據後逐行處理, 因此這可能會相當消耗各項資源。
但Blending使用上有些限制, 因此有時我們還是會根據情況選擇改用Cross Database join
Joins
(連接) |
Blends
(混合數據源) |
Cross Database Joins
| |
發生在哪裡
|
資料庫
|
本地端記憶體內
|
本地端記憶體內
|
作業的順序
|
先Join再聚合
|
先聚合再Join
|
先Join再聚合
|
甚麼樣的數據進到Tableau
|
單個聚合結果集
在每個標記的一行 |
每個數據源的聚合結果,聚合到混合字段的級別和其中的維度。
|
連接鍵的每一行和所有字段中的每一行
|
效能考量
|
Database 本身執行Join 的效能
|
混合字段的基數(即唯一成員的數量)
|
表中的行數
|
留言
張貼留言
歡迎留言討論指教~~