聯結的假設存在參考完整性

有些情況下,您可以從「資料」功能表中選取「假設存在參考完整性」選項來改善聯結的查詢效能。如果使用此選項,Tableau 將僅在檢視中的欄位明確引用查詢中的聯合資料表時才包含該表。

如果您知道資料具有參考完整性(請參閱下面的定義)但資料庫未強制或無法強制參考完整性,則適合於使用此設定。如果您可以選取在資料庫中設定參考完整性,那麼這是一個比使用此設定更好的選取,因為它可以同時提高資料庫和 Tableau 的性能。Tableau 中的 [假設存在參考完整性] 選項只影響 Tableau 端的性能。如果您的資料沒有參考完整性而您啟用了此設定,則查詢結果可能不可靠。

若要瞭解什麼是參考完整性,請假設連線到包含兩個表的銷售資料: [銷售額] 和 [產品目錄] 。這兩個表如下所示:

銷售額

產品 ID(外鍵)銷售額交易日期
11002012/10/1
120002012/10/2
2502012/9/30
3102012/8/21

產品目錄

產品 ID(主鍵)產品名稱
110 吋平板電腦
2智慧型電話
3桌燈
4記憶體條

由於銷售的所有產品都必須在 [產品目錄] 中列出,因此銷售表中的每一列在 [產品目錄] 表中都有一個對應的列。這兩個表透過產品 ID 聯接後,您會得到與下面類似的表:

產品 ID產品名稱產品 ID銷售額交易日期
110 吋平板電腦11002012/10/1
110 吋平板電腦120002012/10/2
2智慧型電話2502012/9/30
3桌燈3102012/8/21

現在,假設您構建了一個檢視來按區域查看銷售額。預設情況下,將 [銷售額] 欄位拖到檢視中可建立如下所示的查詢:

SELECT SUM([Sales Amount]) FROM [Sales] S INNER JOIN [Product Catalog] P ON S.ProductID = P.ProductID

選取 [假設存在參考完整性] 即表示您告知 Tableau 聯接的表具有參考完整性。換句話說,您確認 [銷售] 表始終有一列與 [產品目錄] 表相相符。因為這是真的,因此 Tableau 不需要 [產品目錄] 表中的任何資訊來返回這些結果。將 [銷售額] 欄位拖到檢視中後,Tableau 可將查詢簡化為:

SELECT SUM([Sales Amount]) FROM [Sales]

此簡化的查詢通常可更快地返回結果,因為它省去了聯接操作。此選項僅影響內部聯接,不影響只包含一個表的資料來源。

 

感謝您的意見反應!已成功提交您的意見回饋。謝謝!